前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx服务器如何配置启用https

nginx服务器如何配置启用https

作者头像
程序你好
发布2021-08-20 11:01:56
6.4K0
发布2021-08-20 11:01:56
举报
文章被收录于专栏:程序你好程序你好

在之前鱼鱼单词微信小程序中需要调用自己搭建服务器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 文件,找到下面部分:

代码语言:javascript
复制
# 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 / {
#
#
#}
#}

将其修改为:

代码语言:javascript
复制
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 地址

代码语言:javascript
复制
location /wx/{
    proxy_pass "http://......:3000";
    proxy_redirect default;
}

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

代码语言:javascript
复制
 rewrite ^(.*)$ https://***:443/$1 permanent;

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序你好 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档