1、安装nginx
nginx是一个强大的http服务器,作用是解析链接信息,告诉服务器客户端需要做什么
比如nginx收到了链接信息http://localhost:8000/hello/index.html,就告诉服务器客户端的要求–获取目录hello/index.html文件。服务器读取文件内容发送给浏览器
(1)ssh登录云服务器
~$ ssh ubuntu@45.**.***.66 //输入密码 ubuntu@45.**.***.66's password:
(2)安装nginx
//更新源列表 ~$ sudo apt-get update //安装nginx ~$ sudo apt-get install nginx //检查是否安装成功 ~$ nginx -v nginx version: nginx/1.4.6 (Ubuntu) //启动nginx ~$ sudo service nginx restart
2、SSL证书申请
小程序只承认https协议的域名,普通域名申请SSL 证书即可使用https协议
(1)登录到腾讯云后,点击云产品,搜索SSL,选择SSL证书
(2)进入到SSL证书页面后,点击申请免费证书,然后根据提示输入申请信息就可以了
(3)申请成功之后,SSL证书页面就会出现证书信息,点击下载,得到了一个压缩文件,将文件解压,里面Nginx文件夹下面有SSL 证书文件
1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key。
3、SSL证书安装
下载好两个证书文件之后,将文件放到云服务器上面安装
(1)将文件传输到云服务器
将两个文件放到同一个目录中,/etc/nginx/ssl 目录下
云服务器端操作 ↓↓↓
//打开etc/nginx目录 ~$ cd /etc/nginx/ //新建ssl文件夹 ~/etc/nginx$ mkdir ssl
电脑本地终端操作 ↓↓↓
//打开刚刚下载解压的/www.***.com/Nginx目录 ~$ cd ~/Downloads/www.***.com/Nginx //用scp将文件传输到云服务器,传输第一个文件 ~/www.***.com/Nginx$ scp 1_www.***.com_bundle.crt root@47.10.17.231:/etc/nginx/ssl //输入云服务器的密码 root@47.10.17.231's password: 1_www.***.com_bundle.crt 100% 3672 164.9KB/s 00:00 //传输第二个文件 ~/www.***.com/Nginx$ scp 2_www.***.com.key root@47.10.17.231:/etc/nginx/ssl //再次输入云服务器的密码 root@47.10.17.231's password: 2_www.***.com.key 100% 1678 74.1KB/s 00:00
云服务器端操作 ↓↓↓
//打开etc/nginx/ssl目录 ~$ cd /etc/nginx/ssl/ //输入ls查看里面的文件 ~/etc/nginx/ssl$ ls 1_www.***.com_bundle.crt 2_www.***.com.key
现在文件已经传输成功了,下面开始安装
(2)SSl证书安装
云服务器端操作 ↓↓↓
//打开etc/nginx/conf.d目录 ~$ cd /etc/nginx/conf.d/ //创建weapp.conf文件 ~/etc/nginx/conf.d$ touch weapp.conf
在weapp.conf文件中粘贴下面的内容,我列出需要修改的3个地方,替换成自己域名的信息
upstream app_weapp { server localhost:5757; keepalive 8; } server { listen 80; #=====需要修改=========替换成自己的域名 server_name www.***.com; #服务器自动把 HTTP 的请求重定向到 HTTPS rewrite ^(.*)$ https://$server_name$1 permanent; } server { listen 443; #=====需要修改=========替换成自己的域名 server_name www.***.com; ssl on; #=====需要修改=========下面两行替换成自己SSL文件的路径 ssl_certificate /etc/nginx/ssl/1_www.***.com_bundle.crt; ssl_certificate_key /etc/nginx/ssl/2_www.***.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA; ssl_session_cache shared:SSL:50m; ssl_prefer_server_ciphers on; location / { proxy_pass http://app_weapp; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
(3)验证并重启nginx服务
//输入nginx -t,出现下列信息说明配置成功了 ~$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful //重启nginx ~$ sudo service nginx restart
(4)在浏览器输入域名,会出现下列信息,说明配置成功了
出现502 Bad Gateway也说明配置成功