Nginx服务器如何配置启用Https
作者:admin 2021-08-02本文转载自微信公众号「程序你好」,作者一个she9。转载本文请联系一个程序你好公众号。
在之前鱼鱼单词微信小程序中需要调用自己搭建服务器api,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要求通过https://abc进行访问。
SSL英文名为Secure Socket Layer,安全套接字层。SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输。
先要检查 nginx 是否安装 http_ssl_module 模块,默认不会安装这个模块。
下载nginx安装包,并解压。
配置 ssl 模块。
./configure --prefix=/usr/local/nginx --with-http_ssl_module
使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。
用新的 nginx 文件覆盖当前的 nginx 文件。
再次查看安装的模块(configure arguments: --with-http_ssl_module说明ssl模块已安装)。
可以去阿里云或腾讯云申请免费的证书,一般提供域名验证即可成果申请免费证书。申请成果后下载对应的证书文件(我们选择nginx证书)。
下载申请好的 ssl 证书文件压缩包到centos服务器目录并解压(这里用的 .crt文件 与 .key 文件,文件名可以更改)。
打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到下面部分:
# HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; # ssl_prefer_server_ciphers on; # location / { # # #} #}
将其修改为:
server { listen 443; server_name localhost; ssl_certificate cert/证书名称.pem; ssl_certificate_key cert/证书名称.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }
增加反向代理指向我们restful api 地址
location /wx/{ proxy_pass "http://......:3000"; proxy_redirect default; }
在80端口的server配置节点,增加个重定向的设置,使从80端口访问的http请求,跳转到上面我们刚刚配置到的https地址。
rewrite ^(.*)$ https://***:443/$1 permanent;
最后重新启动nginx服务器,使配置生效。
通过 https 方式访问您的站点,测试站点证书的安装配置。在浏览器中输入https://***.com,能正确访问则说明配置成功。
高防服务器,高防CDN,免备案CDN,专接抗不住的攻击,免备案高防服务器,智能CC盾防住大规模CC攻击,0误封,高达TB级DDoS防御攻击,防御一切大流量的攻击,高防选择我们,真正的性价比之选!!!热门文章