Nginx 配置 HTTPS(腾讯云)

本文简单总结如何在 Nginx 中配置 HTTPS, 并将 HTTP 重定向到 HTTPS。

一、环境说明

系统: CentOS7.6

应用服务器:Nginx 1.16.1、Tomcat 9.0

安全组已开放端口: 22、80、443、3389

二、下载证书(腾讯云)

登录腾讯云,点击控制台下方的个人中心头像。

在这里插入图片描述

点击云产品,搜索 SSL证书,点击进入。

在这里插入图片描述
点击证书管理,在域名项点击下载,便可得到各应用服务器类型 SSL 证书,解压后的 SSL 证书文件夹如下。

在这里插入图片描述
在这里插入图片描述

三、SSL 证书部署

在 Nginx 目录下新建 cert 文件夹存放 SSL 证书(注:文件路径由个人决定)

cd /usr/local/nginx
mkdir cert

将 SSL 证书包中 Nginx 两个文件通过 FileZilla 上传到服务器所新建的 cert 目录。

在这里插入图片描述

四、配置 Nginx

编辑 /usr/local/nginx/conf/nginx.conf 配置文件,新增 server 项

server {
  listen       443 ssl;
  # listen     443 ssl http2;      # 添加 http2,可将当前代理地址升级为 HTTP2 
  server_name  www.xn--i8s322e.cn;    # 域名,多个则以空格分开

  ssl_certificate      /usr/local/nginx/cert/1_www.xn--i8s322e.cn_bundle.crt;    # crt 文件的绝对路径
  ssl_certificate_key  /usr/local/nginx/cert/2_www.xn--i8s322e.cn.key;    # key 文件的绝对路径
  
  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;
  
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  # 加密算法
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    # 安全链接可选的加密协议
  ssl_prefer_server_ciphers on;    # 使用服务器端的首选算法
  
  location / {
    root /data/wwwroot/default;    # 注:正常配置为 html 即可
    index  index.html index.htm;
  }
  
  location /api/v1 {    # 此为本人的额外配置,为后端接口的代理
    proxy_pass http://127.0.0.1:7001/api/v1;
  }
}

将 HTTP 重定向 HTTPS

server {
  listen 80;
  server_name www.xn--i8s322e.cn;
  return 301 https://$server_name$request_uri;
}

五、重启 Nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

或者

service nginx restart

如果 80 端口被占用,通过 kill [id] 结束进程。

# 查看端口使用
netstat -lntp;

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4351/mysqld
tcp        0      0 127.0.0.1:11211         0.0.0.0:*               LISTEN      3078/memcached
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      2957/redis-server 1
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9096/nginx: master
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      2942/pure-ftpd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3027/sshd
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      9096/nginx: master
tcp        0      0 127.0.0.1:7773          0.0.0.0:*               LISTEN      28167/node
tcp6       0      0 127.0.0.1:8006          :::*                    LISTEN      3865/java
tcp6       0      0 :::8080                 :::*                    LISTEN      3865/java
tcp6       0      0 :::21                   :::*                    LISTEN      2942/pure-ftpd
tcp6       0      0 :::7001                 :::*                    LISTEN      28160/node

# 结束 80 端口进程
kill 9096;

再次重启 Nginx,即可完成配置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值