centos

php在centos上的SSL证书怎么配置

小樊
38
2025-09-15 17:29:59
栏目: 云计算

在CentOS上配置PHP的SSL证书,通常涉及以下几个步骤:

  1. 获取SSL证书

    • 你可以从Let’s Encrypt免费获取SSL证书。
    • 或者从你的证书颁发机构(CA)购买。
  2. 安装Certbot(如果你使用Let’s Encrypt): Certbot是一个自动化的工具,可以帮助你获取和续订Let’s Encrypt证书。

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-apache
    
  3. 配置Apache以使用SSL

    • 编辑Apache配置文件,通常位于/etc/httpd/conf/httpd.conf/etc/httpd/conf.d/ssl.conf

    • 确保以下模块已启用:

      sudo a2enmod ssl
      sudo systemctl restart httpd
      
    • 创建一个新的SSL虚拟主机配置文件,例如/etc/httpd/conf.d/yourdomain.com.conf

      <VirtualHost *:443>
          ServerName yourdomain.com
          ServerAlias www.yourdomain.com
          DocumentRoot /var/www/html
      
          SSLEngine on
          SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem
          SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
          Include /etc/letsencrypt/options-ssl-apache.conf
      
          <Directory /var/www/html>
              Options Indexes FollowSymLinks
              AllowOverride All
              Require all granted
          </Directory>
      
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      
    • 重启Apache以应用更改:

      sudo systemctl restart httpd
      
  4. 配置PHP以使用SSL

    • 确保PHP-FPM或PHP进程以HTTPS运行。
    • 如果你使用的是PHP-FPM,编辑其配置文件(通常位于/etc/php-fpm.d/www.conf),并设置listen指令为Unix socket或TCP端口:
      listen = /run/php-fpm/www.sock
      
    • 重启PHP-FPM服务:
      sudo systemctl restart php-fpm
      
  5. 验证SSL配置

    • 使用浏览器访问你的网站,确保HTTPS连接正常工作。
    • 使用SSL检查工具(如SSL Labs)验证你的SSL配置是否正确。
  6. 自动续订证书(如果你使用Let’s Encrypt):

    • Certbot会自动设置一个cron任务来续订证书。
    • 你可以手动测试续订过程:
      sudo certbot renew --dry-run
      

通过以上步骤,你应该能够在CentOS上成功配置PHP的SSL证书。如果你遇到任何问题,请检查Apache和PHP的日志文件以获取更多信息。

0
看了该问题的人还看了