centos

laravel在centos上如何部署SSL

小樊
47
2025-09-11 17:43:37
栏目: 云计算

在CentOS上部署Laravel应用程序的SSL证书,通常需要以下几个步骤:

  1. 获取SSL证书

    • 你可以从Let’s Encrypt免费获取SSL证书,或者购买一个商业证书。
    • 使用Certbot(Let’s Encrypt的官方客户端)来获取和续订证书。
  2. 安装Certbot

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-apache
    
  3. 获取SSL证书

    • 使用Certbot获取证书。假设你的域名是example.com,运行以下命令:
      sudo certbot --apache -d example.com -d www.example.com
      
    • Certbot会自动配置Apache服务器,并将SSL证书安装在适当的位置。
  4. 配置Laravel

    • 确保你的Laravel应用程序的.env文件中设置了正确的SSL相关配置:
      FORCE_SSL=true
      SESSION_SECURE_COOKIE=true
      CSRF_COOKIE_SECURE=true
      
  5. 配置Apache虚拟主机

    • 编辑Apache的虚拟主机配置文件,确保SSL配置正确。通常,Certbot会自动创建一个虚拟主机配置文件,位于/etc/httpd/conf.d/example.com.conf
    • 确保配置文件中包含以下内容:
      <VirtualHost *:443>
          ServerName example.com
          ServerAlias www.example.com
      
          DocumentRoot /var/www/html/example.com/public
      
          SSLEngine on
          SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
          SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
          Include /etc/letsencrypt/options-ssl-apache.conf
      
          <Directory /var/www/html/example.com/public>
              AllowOverride All
              Require all granted
          </Directory>
      
          ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
          CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
      </VirtualHost>
      
  6. 重启Apache服务器

    • 使配置生效,重启Apache服务器:
      sudo systemctl restart httpd
      
  7. 验证SSL配置

    • 打开浏览器,访问https://example.com,确保SSL证书正确安装并且网站可以通过HTTPS访问。
  8. 自动续订证书

    • Certbot会自动设置一个cron任务或systemd定时器来续订证书。你可以手动测试续订过程:
      sudo certbot renew --dry-run
      
    • 如果一切正常,Certbot会自动续订证书。

通过以上步骤,你应该能够在CentOS上成功部署Laravel应用程序的SSL证书。

0
看了该问题的人还看了