We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
最近在搞小程序,小程序的服务必须使用https协议,之前没学过这些,于是写下这篇博客,记录自己遇到的问题
本篇博客解决这些问题,服务器的登陆配置、项目的部署、https证书的申请、nginx部署https与转发本地服务
腾讯云重装系统
登陆设置选择使用ssh密钥设置
选择ssh密钥,如果没有则创建ssh密钥
点击开始安装
下载生成好的私钥到本地
使用终端进行配置
// 赋予私钥文件仅本人可读权限 chmod 400 <下载的与云服务器关联的私钥的绝对路径> // 运行以下远程登录命令 ssh -i <下载的与云服务器关联的私钥的绝对路径> <username>@<hostname or ip address>
// 下载nvm wget https://github.com/cnpm/nvm/archive/v0.23.0.tar.gz // 解压nvm tar -xf v0.23.0.tar.gz // 进入目录 cd nvm-0.23.0/ // 安装nvm ./install.sh // 安装后执行 source ~/.bash_profile
使用nvm安装node
nvm install 10.14.2
由于我的代码托管在github上,给服务器安装git方便管理代码
在linux安装git
git clone https://github.com/lfhwnqe/wechat_server.git
进入项目根目录安装依赖
cd wechat_server npm install
启动项目进行连接
npm start
现在项目在本7001端口启动
此时访问服务器公网ip:7001就可以访问到服务器上启动的服务
先申请一个免费https证书
在服务器运行一下命令,通过openssl生成csr和私钥
openssl req -new -newkey rsa:2048 -sha256 -nodes -out linuoblog.cn.csr -keyout linuoblog.cn.key -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=NUO Inc./OU=Web Security/CN=linuoblog.cn"
下面是上述命令相关字段含义:
C:Country ,单位所在国家,为两位数的国家缩写,如: CN 就是中国
ST 字段: State/Province ,单位所在州或省
L 字段: Locality ,单位所在城市 / 或县区
O 字段: Organization ,此网站的单位名称;
OU 字段: Organization Unit,下属部门名称;也常常用于显示其他证书相关信息,如证书类型,证书产品名称或身份验证类型或验证内容等;
CN 字段: Common Name ,你的网站域名;
如果你是使用https://freessl.cn获取证书,在使用openssl命令生成 csr 文件后,在页面选择csr生成,并粘贴生成的csr内容到页面,然后通过该网站的验证方式,验证所有者,即可获得ca证书
https://freessl.cn获得的ca证书是 .pem后缀的证书文件,证书文获取成功后,就可以在 Nginx 配置文件里配置 HTTPS 了。
要开启 HTTPS 服务,在配置文件信息块(server block),必须使用监听命令 listen 的 ssl 参数和定义服务器证书文件和私钥文件,同时通过设置location模块把发送到网页的请求转发到服务器上的node服务,如下所示:
listen
worker_processes auto; http { #配置共享会话缓存大小,视站点访问情况设定 ssl_session_cache shared:SSL:10m; #配置会话超时时间 ssl_session_timeout 10m; server { listen 443 ssl; server_name linuoblog.cn; #设置长连接 keepalive_timeout 70; #HSTS策略 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always; #证书文件 ssl_certificate full_chain.pem; # 证书的路径 #私钥文件 ssl_certificate_key linuoblog.cn.key; # 私钥的路径 location / { # 这里是把链接代理到本机的7001端口 proxy_pass http://127.0.0.1:7001; } } } events { worker_connections 1024; ## Default: 1024 }
配置完成后启动nginx
nginx
这个时候,访问自己的域名就能看到https服务了。同时也通过nginx把网页端的请求转发到了服务器本地的server上
The text was updated successfully, but these errors were encountered:
No branches or pull requests
从 node服务从部署,到https配置与nginx转发
最近在搞小程序,小程序的服务必须使用https协议,之前没学过这些,于是写下这篇博客,记录自己遇到的问题
本篇博客解决这些问题,服务器的登陆配置、项目的部署、https证书的申请、nginx部署https与转发本地服务
通过私钥登陆服务器
腾讯云重装系统
登陆设置选择使用ssh密钥设置
选择ssh密钥,如果没有则创建ssh密钥
点击开始安装
下载生成好的私钥到本地
使用终端进行配置
给服务器装nvm管理node版本
使用nvm安装node
给服务器安装git
由于我的代码托管在github上,给服务器安装git方便管理代码
在linux安装git
克隆项目到服务器
进入项目根目录安装依赖
启动项目进行连接
现在项目在本7001端口启动
此时访问服务器公网ip:7001就可以访问到服务器上启动的服务
把域名映射到服务器
申请https证书
先申请一个免费https证书
在服务器运行一下命令,通过openssl生成csr和私钥
下面是上述命令相关字段含义:
C:Country ,单位所在国家,为两位数的国家缩写,如: CN 就是中国
ST 字段: State/Province ,单位所在州或省
L 字段: Locality ,单位所在城市 / 或县区
O 字段: Organization ,此网站的单位名称;
OU 字段: Organization Unit,下属部门名称;也常常用于显示其他证书相关信息,如证书类型,证书产品名称或身份验证类型或验证内容等;
CN 字段: Common Name ,你的网站域名;
如果你是使用https://freessl.cn获取证书,在使用openssl命令生成 csr 文件后,在页面选择csr生成,并粘贴生成的csr内容到页面,然后通过该网站的验证方式,验证所有者,即可获得ca证书
https://freessl.cn获得的ca证书是 .pem后缀的证书文件,证书文获取成功后,就可以在 Nginx 配置文件里配置 HTTPS 了。
配置nginx,域名启用https,通过nginx把https请求转发到本地node服务
要开启 HTTPS 服务,在配置文件信息块(server block),必须使用监听命令
listen
的 ssl 参数和定义服务器证书文件和私钥文件,同时通过设置location模块把发送到网页的请求转发到服务器上的node服务,如下所示:配置完成后启动nginx
这个时候,访问自己的域名就能看到https服务了。同时也通过nginx把网页端的请求转发到了服务器本地的server上
The text was updated successfully, but these errors were encountered: