下载安装
前往官网下载Nginx 并上传到服务器
或者在服务器上
cd /opt
wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar -zxvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module
检查ssl模块
/usr/local/nginx/sbin/nginx -V
如果出现 --with-http_ssl_module
说明Nginx的ssl模块已经安装完成
生成 ssl证书
安装ssl依赖
yum install openssl
yum install openssl-devel
还是在opt目录下去生成秘钥
生成时会需要键入一个标识
cd /opt
mkdir https
cd https
openssl genrsa -des3 -out server.key 1024
//生成证书颁发机构,用于颁发公钥
openssl genrsa -des3 -passout pass:myhost -out ssl.pass.key 2048
openssl rsa -passin pass:myhost -in ssl.pass.key -out server.key
rm -rf ssl.pass.key
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 36500 -in server.csr -signkey server.key -out server.crt
rm -rf server.csr
Nginx Https配置
打开nginx配置文件
cd /usr/local/nginx/conf
vi nginx.conf
可以看到原先nginx配置的https服务默认是注释掉的
将注释解开后修改为如下配置
# HTTPS server
server {
listen 443 ssl;
#server_name要改为和自己需要使用的域名完全匹配
server_name www.xxx.com;
# 我们之前生成的秘钥和证书
ssl_certificate /opt/https/server.crt;
ssl_certificate_key /opt/https/server.key;
#session缓存
ssl_session_cache shared:SSL:1m;
#session超时时间
ssl_session_timeout 5m;
# ssl支持的加密方式(因为微信小程序需要TLSv1.2,所以这里添加了额外的支持方式)
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#将api的请求转发
location /api/ {
#后台服务地址
proxy_pass https://127.0.0.1:8443/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
nginx启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
检查进程存活
ps -aux |grep nginx