在小程序上线的时候需要服务器为https请求,那么就需要ssl证书,SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。但后端请求为https是,由于https,http协议不同,前端也需要转发为https,相比tomcat部署https请求,nginx请求需要的碰壁更多,下面是我经过到处碰壁,许多弯路给总结的经验。
首先从阿里云下载nginx证书,证书下载和ssl证书获取大家可以参考其他博客
不管我们用了多久的nginx,建议大家都删掉重来,不管是docker还是什么都建议重新解压nginx。
新解压的nginx会有configure这个包,并且没有sbin这个包
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install
此时nginx会默认安装在/usr/local/中,进入nginx目录
cd /usr/local/nginx/
将阿里云下载的nginx证书存放在/usr/local/nginx/conf/certh中,目录自己创建
mkdir cert
配置ngin.conf
server {
listen 8001 ssl;
server_name localhost;
ssl_certificate cert/XXX.pem;
ssl_certificate_key cert/XXX.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
ssl_prefer_server_ciphers on;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /opt/service/online/;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
location /api/ {
proxy_pass https://localhost:8000;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
虽然只是个简简单单的配置,但是是作者参考了官网文档,csdn文档,简书等等不下10篇文档总结下来最后运行成功的,希望大家看了作者的文档的可以给作者点点收藏关注5555~。
配置完毕就可以启动./nginx了,如果启动不成功,需要输入以下命令
yum install gcc* zlib zlib-devel pcre pcre-devel openssl openssl-deve
接下来就可以运行成功了,这篇文档是小编查看阿里云官方文档课其他10多篇文档总结下来的,如果能解决问题,可怜可怜小编点个关注收藏再走5555
如果还想看tomcat,springboot部署ssl并转发https请求请参考我的另一篇博客