centos

如何在centos上为nginx启用ssl

小樊
46
2025-10-07 00:49:12
栏目: 云计算

在CentOS上为Nginx启用SSL,你需要完成以下步骤:

  1. 安装Nginx(如果你还没有安装):

    sudo yum install epel-release
    sudo yum install nginx
    
  2. 获取SSL证书: 你可以从Let’s Encrypt免费获取SSL证书,或者购买一个证书。使用Certbot可以自动化这个过程。

    安装Certbot和Nginx插件:

    sudo yum install certbot python2-certbot-nginx
    

    运行Certbot获取证书:

    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

    Certbot会自动配置Nginx并启用SSL。它会要求你确认一些信息,并且可能会要求你重新加载Nginx。

  3. 手动配置SSL (如果你不想使用Certbot): 如果你想手动配置SSL,你需要创建一个SSL证书文件和一个私钥文件。你可以从Let’s Encrypt获取免费的证书,或者使用其他证书颁发机构。

    创建一个私钥文件(如果还没有):

    sudo openssl genrsa -out /etc/nginx/ssl/yourdomain.com.key 2048
    

    创建一个证书签名请求(CSR):

    sudo openssl req -new -key /etc/nginx/ssl/yourdomain.com.key -out /etc/nginx/ssl/yourdomain.com.csr
    

    在这个过程中,你需要填写一些信息,比如国家、组织名称等。

    提交CSR给证书颁发机构,并按照他们的指示获取证书文件。

    一旦你有了证书文件(通常是.crt.pem格式),你可以配置Nginx来使用它。

  4. 配置Nginx: 编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf

    server块中添加或修改以下内容:

    server {
        listen 443 ssl;
        server_name yourdomain.com www.yourdomain.com;
    
        ssl_certificate /etc/nginx/ssl/yourdomain.com.crt;
        ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:AES256+EDH';
    
        ssl_prefer_server_ciphers on;
    
        location / {
            root   html;
            index  index.html index.htm;
        }
    
        # Additional configuration settings
    }
    

    确保将yourdomain.com和证书文件的路径替换为你的实际域名和证书文件的路径。

  5. 重新加载Nginx: 保存配置文件后,重新加载Nginx以应用更改:

    sudo nginx -t # 检查配置文件是否有语法错误
    sudo systemctl reload nginx # 重新加载Nginx服务
    
  6. 测试SSL配置: 使用浏览器访问https://yourdomain.com,你应该能看到一个安全的连接,并且浏览器地址栏应该显示一个锁形图标。

请注意,这些步骤可能会随着操作系统版本、Nginx版本和Certbot版本的不同而略有变化。始终确保遵循最新的官方文档和指南。

0
看了该问题的人还看了