CentOS7中Nginx配置SSL证书后使用Https访问

前言

  工欲善其事必先利其器,操作 Linux 服务器得有一个用着舒服的客户端,这里推荐使用 MobaXterm

  MobaXterm 下载地址:https://mobaxterm.mobatek.net/download.html

  CentOS7 中安装 Nginx1.8.0 请前往:https://blog.csdn.net/qq_41402200/article/details/89604786

域名

  域名我是上阿里云购买的,域名购买后需备案。

SSL证书

  SSL证书我是上阿里云购买的 '免费型DV SSL',购买成功后可以免费使用一年。

  这个过程就不截图一步一步操作了,因为阿里云更新的太快了,可能导致你看到的阿里云界面和我现在截图的界面

  不一样,影响你的判断和操作。我记录一下重要步骤

  1. 购买 SSL 证书

  2. 补全信息(域名)

  3. 等待证书审核,到 '已签发' 状态

  4. 点击 '下载'

  5. 点击 '服务器类型' 为 Nginx 的那一项 '下载'

  6. 解压出来后里面有两个文件,分别是 .key 和 .pem

配置

  1. 输入命令 cd /usr/local/nginx/ -> 进入到 Nginx目录

  2. 输入命令 mkdir cert -> 新建文件夹,用来存放 SSL 证书信息

  3. 输入命令 cd cert -> 进入到 cert 目录

  4. MobaXterm 左边目录的最底部,有个选择框(Follow terminal folder)记得把它勾选上。

  5. 把上面解压的两个文件拖拽到 MobaXterm 左边目录中(/usr/local/nginx/cert/ 文件夹中)

  6. 输入命令 cd /usr/local/nginx/conf/ -> 进入到 Nginx 的 conf 目录

  7. 输入命令 vim nginx.conf -> 编辑 nginx.conf 文件

  配置 https / 443 

  8. 在 nginx.conf 文件底部有 # HTTPS server,这里就是配置 Https 的地方

  9. 把 server{ listen 443; ...} 中的内容替换成阿里云官网给出的文档内容


# 以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
  listen 443;
  server_name localhost;  # localhost修改为您证书绑定的域名。
  ssl on;   #设置为on启用SSL功能。
  root html;
  index index.html index.htm;
  ssl_certificate cert/domain name.pem;   #将domain name.pem替换成您证书的文件名。
  ssl_certificate_key cert/domain name.key;   #将domain name.key替换成您证书的密钥文件名。
  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 html;   #站点目录。
    index index.html index.htm;   #添加属性。
  }
}
							

 10. 需要把 ssl_certificate 后面的内容替换成 ../cert/xxxxx.pem

a) xxxxx.pem 为你下载解压的 SSL 文件中的 .pem 文件名称

b) 注意 ssl_certificate 后需要空一格再粘贴 .pem 文件名称

 11. 需要把 ssl_certificate_key 后面的内容替换成 ../cert/xxxxx.key

a) xxxxx.key 为你下载解压的 SSL 文件中的 .key 文件名称

b) 注意 ssl_certificate_key 后需要空一格再粘贴 .key 文件名称

 12. 需要把 server_name 后面的内容替换成你的域名

  配置 http / 80

 13. 在 nginx.conf 文件上面有个 server{ listen 80; ...} 监听的 80 端口,这里就是配置 Http 的地方

 14. 需要把 server_name 后面的内容替换成你的域名

 15. 需要在 server_name 下面添加如下内容,设置 http 请求跳转到 https

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

 16. 轮流输入命令 esc -> shift 冒号 -> wq -> 回车

启动停止

  1. 输入命令 cd /usr/local/nginx/sbin/ -> 进入到 Nginx 的 sbin 目录

  2. 输入命令 ./nginx -t -> 检查 Nginx 配置文件是否有错误,能否被启动成功;返回 'test is successful' 等等信息

      表示成功

  3. 输入命令 ./nginx -> 启动 Nginx

  4. 输入命令 ./nginx -s quit -> 停止 Nginx

安全组

  注:如果服务器是在阿里云租用的需要设置安全组

  1. 登录到阿里云

  2. 进入到 '云服务器 ECS' 控制台

  3. 左侧栏中选择 '实例'

  4. 进入实例详情,点击左侧栏中 '本实例安全组'

  5. 点击安全组中的 '配置规则'

  6. 点击 '添加安全组规则' 按钮

  7. 配置 80 端口和 443 端口

防火墙

  注:如果服务器是在阿里云租用的需要开启防火墙。服务器是默认不开启防火墙的,感觉不安全

  1. 输入命令 systemctl status firewalld -> 查看防火墙状态

  2. 输入命令 systemctl start firewalld -> 开启防火墙

  3. 如果你不想开防火墙的话,那就输入命令 systemctl stop firewalld -> 关闭防火墙

  4. 输入命令 systemctl restart firewalld.service -> 重启防火墙

端口

  注:端口操作需要在开启防火墙的情况下才能执行成功。如下命令只需要执行一种即可(永久或临时)

  1. 永久开放端口

a) 输入命令 firewall-cmd --permanent --zone=public --add-port=80/tcp -> 永久开放 80 端口

b) 输入命令 firewall-cmd --permanent --zone=public --add-port=443/tcp -> 永久开放 443 端口

  2. 临时开放端口

a) 输入命令 firewall-cmd --zone=public --add-port=80/tcp -> 临时开放 80 端口

b) 输入命令 firewall-cmd --zone=public --add-port=443/tcp -> 临时开放 443 端口

访问

  1. 在浏览器中输入你的 ip 地址,回车后在地址栏左侧(谷歌为例)有个小锁,点击查看,显示连接是安全的


扩展

CentOS7中常用命令行

CentOS7中安装Nginx1.8.0

 

希望能够帮助到你

over

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值