欢迎光临
我们一直在努力

如何为CentOS6网站免费部署SSL证书以确保安全?

免费 SSL 证书!CentOS6 快速部署教程,让你的网站安全无忧

环境准备

1. 基础环境配置

免费 SSL 证书!CentOS6 快速部署教程,让你的网站安全无忧

在 CentOS6 上进行 SSL 证书的安装与配置前,需要确保系统的基础环境已经准备好,由于 CentOS6 的官方 yum 源可能不再支持,因此需要更换为第三方的 yum 源,这里推荐使用腾讯云的 CentOS6 yum 源:

备份原有的 yum 源配置文件
mv /etc/yum.repos.d/* /etc/yum.repos.d_bak/
下载并替换为腾讯云的 CentOS6 yum 源
wget O /etc/yum.repos.d/CentOSBase.repo http://mirrors.cloud.tencent.com/repo/centos6_base.repo
清理缓存并生成新的缓存
yum clean all
yum makecache

2. Python 环境配置

Let’s Encrypt 目前要求 Python3 以上版本来签发证书,因此需要安装 Python3.6 或更高版本,可以通过源码编译安装 Python3.6:

下载并解压 Python3.6 源码包
wget https://www.python.org/ftp/python/3.6.12/Python3.6.12.tgz
tar zxvf Python3.6.12.tgz
cd Python3.6.12
配置并安装
./configure
make && make install
将系统默认的 python 命令链接到 python3
mv /usr/bin/python /usr/bin/python.old
ln s /usr/local/bin/python3 /usr/bin/python
修改 yum 的 python 依赖路径
vim /usr/bin/yum
将首行改为:#!/usr/bin/python2.6

3. Nginx 环境配置

Let’s Encrypt 自动签发证书需要寻找的文件和目录有/etc/nginx/usr/bin/nginx,Nginx 是手动编译安装的,则需要确保这些文件和目录存在并且路径正确,如果 Nginx 安装在/data/app/nginx 目录下,则需要创建符号链接:

ln s /data/app/nginx/sbin/nginx /usr/bin/nginx
ln s /data/app/nginx/conf/ /etc/nginx

安装 Certbot 工具

Certbot 是一个 Let’s Encrypt 官方推荐的用于自动化申请和部署 SSL 证书的工具,下载并安装 Certbot:

下载 certbotauto 脚本
wget https://dl.eff.org/certbotauto
赋予执行权限并移动到 /usr/local/bin 目录
chmod 0755 certbotauto
mv certbotauto /usr/local/bin/certbotauto

生成 SSL 证书

通过 Certbot 生成 SSL 证书有两种主要方式,一种是全自动完成,另一种是仅生成证书,后续手动配置 Nginx,以下是两种方式的详细步骤:

方式一:全自动完成

运行 certbotauto,选择 Nginx 插件
/usr/local/bin/certbotauto nginx

Certbot 会自动处理所有步骤,包括验证域名所有权、生成证书以及配置 Nginx,这种方式适合初学者。

免费 SSL 证书!CentOS6 快速部署教程,让你的网站安全无忧

方式二:仅生成证书,手动配置 Nginx

使用 certonly 参数仅生成证书
/usr/local/bin/certbotauto certonly nginx

此命令会生成证书文件但不会修改 Nginx 配置,需要手动进行下一步的配置。

配置 Nginx 以使用 SSL 证书

无论选择哪种方式生成 SSL 证书,都需要配置 Nginx 以启用 HTTPS,编辑 Nginx 配置文件(通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/your_domain.conf),添加以下内容:

server {
    listen 80;
    server_name your_domain.com; # 将 your_domain.com 替换为你的实际域名
    return 301 https://$host$request_uri; # 将所有 HTTP 请求重定向到 HTTPS
}
server {
    listen 443 ssl;
    server_name your_domain.com; # 将 your_domain.com 替换为你的实际域名
    ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; # 证书路径
    ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem; # 私钥路径
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHERSAAES128GCMSHA256:ECDHEECDSAAES128GCMSHA256:ECDHERSAAES256GCMSHA384:ECDHEECDSAAES256GCMSHA384:DHERSAAES128GCMSHA256:DHEDSSAES128GCMSHA256:kEDH+AESGCM:ECDHERSAAES128SHA256:ECDHEECDSAAES128SHA256:ECDHERSAAES128SHA:ECDHEECDSAAES128SHA:ECDHERSAAES256SHA384:ECDHEECDSAAES256SHA384:ECDHERSAAES256SHA:ECDHEECDSAAES256SHA:DHERSAAES128SHA256:DHERSAAES128SHA:DHEDSSAES128SHA256:DHERSAAES256SHA256:DHEDSSAES256SHA:DHERSAAES256SHA:AES128GCMSHA256:AES256GCMSHA384:AES128:AES256:AES:DESCBC3SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK';
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

重新加载 Nginx 配置并验证

完成 Nginx 配置后,需要重新加载 Nginx 配置并验证 SSL 是否生效:

重新加载 Nginx 配置
service nginx reload

打开浏览器,访问你的域名并查看是否出现小锁标志,表示 SSL 已成功启用。

设置自动续期证书

Let’s Encrypt 颁发的证书有效期为 90 天,因此需要设置自动续期任务,编辑 crontab 文件,添加以下内容以每天尝试续期一次:

编辑 crontab 文件
crontab e
添加自动续期任务
0 0,12 * * * root /usr/local/bin/certbotauto renew quiet

保存并退出编辑器,这样,系统将每天零点和中午各尝试续期一次 SSL 证书,确保网站始终拥有有效的 SSL 证书。

到此,以上就是小编对于“免费 SSL 证书!CentOS6 快速部署教程,让你的网站安全无忧”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《如何为CentOS6网站免费部署SSL证书以确保安全?》
文章链接:https://yuyunkj.com/article/4770.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发