当前位置:首页 > 服务器资讯

Nginx服务器如何配置启用Https

2021-07-29 15:34:28 作者: 来源: 阅读:210 评论:0

简介 即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践--> 本文转载自微信公众号「程序你好」,作者一个she9。转载本文请联系一个程序你好公众号。在之前鱼鱼单词微信小程序中需要调用自己搭建服务器api,但是服务器配置URL必须是HTTPS,所以需要通过配置......

即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践

-->

 

本文转载自微信公众号「程序你好」,作者一个she9。转载本文请联系一个程序你好公众号。

在之前鱼鱼单词微信小程序中需要调用自己搭建服务器api,但是服务器配置URL必须是HTTPS,所以需要通过配置nginx的SSL模块来支持HTTPS访问,也就是说,要求通过https://abc进行访问。

SSL英文名为Secure Socket Layer,安全套接字层。SSL是一种数字证书,它使用ssl协议在浏览器和web server之间建立一条安全通道,数据信息在client与server之间的安全传输。

1、配置ssl模块

先要检查 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模块已安装)。

2、配置部署ssl证书

可以去阿里云或腾讯云申请免费的证书,一般提供域名验证即可成果申请免费证书。申请成果后下载对应的证书文件(我们选择nginx证书)。

下载申请好的 ssl 证书文件压缩包到centos服务器目录并解压(这里用的 .crt文件 与 .key 文件,文件名可以更改)。

3、Nginx配置文件设置

打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到下面部分:

  1. # HTTPS server 
  2. # #server { 
  3. # listen 443; 
  4. # server_name localhost; 
  5. # ssl on
  6. # ssl_certificate cert.pem; 
  7. # ssl_certificate_key cert.key
  8. # ssl_session_timeout 5m; 
  9. # ssl_protocols SSLv2 SSLv3 TLSv1; 
  10. # ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 
  11. # ssl_prefer_server_ciphers on
  12. # location / { 
  13. #} 
  14. #} 

将其修改为:

  1. server { 
  2.     listen 443; 
  3.     server_name localhost; 
  4.  
  5.     ssl_certificate   cert/证书名称.pem; 
  6.     ssl_certificate_key  cert/证书名称.key
  7.     ssl_session_cache  shared:SSL:1m; 
  8.     ssl_session_timeout 5m; 
  9.     ssl_ciphers HIGH:!aNULL:!MD5 
  10.     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
  11.     ssl_prefer_server_ciphers on
  12.     location / { 
  13.         root html; 
  14.         index index.html index.htm; 
  15.     } 

增加反向代理指向我们restful api 地址

  1. location /wx/{ 
  2.     proxy_pass "http://......:3000"
  3.     proxy_redirect default

在80端口的server配置节点,增加个重定向的设置,使从80端口访问的http请求,跳转到上面我们刚刚配置到的https地址。

  1. rewrite ^(.*)$ https://***:443/$1 permanent; 

最后重新启动nginx服务器,使配置生效。

通过 https 方式访问您的站点,测试站点证书的安装配置。在浏览器中输入https://***.com,能正确访问则说明配置成功。


标签:SSL  配置  Nginx  证书  server  

相关评论

本栏推荐