Nginx配置HTTPS连接

环境:

os: centos7
nginx: 1.18.0

一、nginx 的 ssl 模块安装

(一)查看 nginx 是否安装 http_ssl_module 模块

/data/nginx/usr/local/nginx/sbin/nginx -V

在这里插入图片描述
如果出现 configure arguments: --with-http_ssl_module, 则已安装,否则请安装ssl模块。

(二)安装http_ssl_module 模块

1. 下载nginx,并上传到服务器
2. 解压nginx
tar -zxvf nginx-1.18.0.tar.gz
3. 进入解压文件,并配置ssl
cd nginx-1.18.0
./configure --prefix=/data/nginx --with-http_ssl_module
4. 编译

使用make命令编译,不要使用make install,否则会重新安装。此时当前目录会出现 objs 文件夹,将objs文件夹中的nginx覆盖/data/nginx/sbin中的nginx

5. 查看 nginx 是否安装 http_ssl_module 模块

二、ssl证书部署

(一)获取证书

1. 域名部署

登录域名官网,申请域名的ssl证书,并下载

2. 本地IP部署

使用openssl命令,生成ssl证书,并下载。

(二)上传证书

新建ssl文件夹,将证书上传到该文件夹。
在这里插入图片描述

三、配置nginx.conf文件

  • 进入编辑
vim /data/nginx/conf/nginx.conf
  • 配置443,添加如下代码:
server {
        listen          443      ssl;
        server_name     gqcyx.top;  # 你的域名
        root            /home/XXX/webroot; # 项目文件存放路径

        ssl_certificate                 /data/nginx/ssl/1_gqcyx.top_bundle.crt; # 证书路径
        ssl_certificate_key             /data/nginx/ssl/2_gqcyx.top.key; # 密钥路径
        ssl_session_cache               shared:SSL:1m;
        ssl_session_timeout             10m;
        ssl_protocols                   TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers                     ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers       on;

        location / {
            root /home/guanqing;
        }

        location /trace-trade-web {
            root /home/guanqing/webroot;
        }

        location /trace-trade-wechat {
            root /home/guanqing/webroot;
        }

        location /trace-trade-api {
            proxy_pass http://121.5.79.77:8809/trace-trade-api;

            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
            add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
            add_header Access-Control-Allow-Credentials true;
        }

        location /resources {
            root /home/guanqing/webroot;
        }

        location /resources-proxy {
            proxy_pass http://121.5.79.77/resources;

            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods "POST, GET, OPTIONS";
            add_header Access-Control-Allow-Headers "Origin, Authorization, Accept";
            add_header Access-Control-Allow-Credentials true;
        }

        error_page 404 /404.html;
        location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
}
  • 配置80转发,添加如下代码:
server {
        listen          80;
        server_name     gqcyx.top;
        return          301     https://$server_name$request_uri; # 将请求转成https
}

注:需要保证443端口可用。

四、重启nginx

ok,如果上述步骤都完成了,没有问题,接下来只需要重启nginx服务即可。进入sbin目录下,输入

./nginx -t  # 检查配置是否正确
./nginx -s reload  # 热启动
./nginx -s stop # 关闭
./nginx  # 启动

无提示信息的话,就大功告成了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值