在部署若依后台管理系统时,原本基于http协议的域名访问不能够满足微信小程序调用时需要的安全性要求,微信小程序仅支持基于https协议的域名访问,所以需要重新配置部署Nginx配置文件。

获取SSL证书

一般服务器都有赠送或者免费申请的SSL证书,然后下载Nginx类型的SSL证书,解压得到后缀为.key和.pem的两个文件,把这两个文件通过ftp工具上传到Nginx配置文件所在的文件夹下。

检查443端口和Nginx的SSL模块是否打开

linux服务器上有一个命令可以用来查看端口状态:netstat。但是在centOS7上,需要先安装net-tools工具,才有这个命令。

1. 打开服务器443接口:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT

2. 重新编译打开Nginx的SSL编译模块:

(1) 进入Nginx目录:

cd /usr/local/nginx/

(2)打开Nginx的SSL编译模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-https_ssl_module

(3)如果之前已经安装Nginx的,这里就不再make install,否则会覆盖掉之前的安装和配置

make

(4)备份原先的启动文件

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

(5)测试新的Nginx程序是否正确

/usr/local/nginx/sbin/nginx -t
若成功会显示:
nginx: theconfiguration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx:configuration file /usr/local/nginx/conf/nginx.conf test issuccessful

(6)平滑重启Nginx

/usr/local/nginx/sbin/nginx -s reload

(7)查看Nginx版本及其编译参数

/usr/local/nginx/sbin/nginx -V

修改Nginx配置文件

配置https服务

** https 服务配置**
server {
	# 侦听80端口
	listen 443 default ssl;
	ssl on;
	#证书文件名称
	ssl_certificate xxxxxxxxxxxxxxx.pem; 
	#私钥文件名称
	ssl_certificate_key xxxxxxxxxxxxxxx.key; 
	# 定义访问域名
	server_name xxxxxxxxxxxxxxx;
	location / {
		# 存放了静态页面的根目录
		root   xxxxxxxxxxxxxxx;
		# 默认主页
		index index.html;
	}
}

平滑重启 Nginx

/usr/local/nginx/sbin/nginx -s reload

至此完成Nginx部署配置。

Q.E.D.


大力出奇迹