Let's Encrypt: 为CentOS/RHEL 7下的nginx安装https支持-具体案例

环境说明:

centos 7
nginx 1.10.2

前期准备

软件安装
yum install -y epel-release
yum install -y certbot
创建目录及链接
方法1:在网站根目录下创建一个.well-known的目录
方法2:
mkdir -p /usr/local/nginx/cert/.well-known
ln -s /usr/local/nginx/cert/.well-known /data/www/example.com/.well-known
ln -s /usr/local/nginx/cert/.well-known /data/www/test.example.com/.well-known

命令执行

certbot certonly --webroot -w /usr/local/nginx/cert -d example.com -d test.example.com

根据提示进行操作,一般可以正常生产证书文件。
证书文件的目录存放在: '/etc/letsencrypt/live/example.com/'
会有4个文件:
cert.pem
chain.pem
fullchain.pem
privkey.pem

特别要注意,这条命令只会将生成的证书放在这个目录,不会有一个/etc/letsencrypt/live/test.example.com/目录,test.example.com的证书和example.com的证书放在一起了,具体看后面的nginx配置。

nginx配置

server {
    listen  443 ssl http2;
    server_name example.com;
    index index.html index.htm index.php;
    root  /data/www/example.com;

    ssl_certificate       /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key   /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    access_log  off;
}

server {
    listen  443 ssl http2;
    server_name test.example.com;
    index index.html index.htm index.php;
    root  /data/www/test.example.com;

    ssl_certificate       /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key   /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    access_log  off;
}

定期更新


crontab -e # 新增如下定时任务
10 6 * * *  /bin/certbot renew --quiet &>/dev/null

Let's Encrypt 的证书有效期为90天,如果证书的有效期大于30天,则上面命令不会真的去更新证书的。

https测试

在浏览器输入 https://example.com 网址进行验证,一般Chrome会有一个绿色的锁以及Secure标示。


最后如果觉得所讲的东西能够帮助到你,并且希望了解更多的知识,进行更详细的深入的学习,欢迎加群632109190进行讨论和学习。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS 7上安装Nginx并配置https SSL可以通过以下步骤实现: 1. 更新系统软件包 首先,使用以下命令更新系统软件包: sudo yum update 2. 安装Nginx 使用以下命令安装Nginx: sudo yum install nginx 安装完成后,启动Nginx并设置开机自启动: sudo systemctl start nginx sudo systemctl enable nginx 3. 申请SSL证书 可以通过Let's Encrypt等CA机构申请免费的SSL证书。安装Certbot工具,并使用以下命令申请SSL证书: sudo yum install certbot sudo certbot certonly --webroot -w /usr/share/nginx/html -d yourdomain.com 其中,“/usr/share/nginx/html”为Nginx默认的网站根目录,“yourdomain.com”为你的域名。 4. 配置SSL 编辑Nginx配置文件,添加SSL配置信息: sudo nano /etc/nginx/conf.d/yourdomain.conf 在配置文件中添加以下内容: server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; location / { root /usr/share/nginx/html; index index.html; } } 保存并退出配置文件,然后重新加载Nginx配置: sudo nginx -t sudo systemctl reload nginx 5. 配置防火墙 如果系统开启了防火墙,需要添加https服务的防火墙规则: sudo firewall-cmd --zone=public --add-service=https --permanent sudo firewall-cmd --reload 经过以上步骤,就可以在CentOS 7上成功安装并配置了Nginx https SSL。现在,访问你的网站时会通过安全的https连接进行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值