在CentOS上部署Laravel应用程序的HTTPS涉及几个步骤,包括获取SSL证书、配置Web服务器(如Apache或Nginx)以及更新Laravel配置。以下是使用Apache和Nginx的详细步骤:
使用Apache部署HTTPS
-
安装Certbot: Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。
sudo yum install epel-release sudo yum install certbot python2-certbot-apache -
获取SSL证书: 运行Certbot来获取证书。
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com按照提示完成证书的获取和配置。
-
配置Apache: Certbot会自动修改Apache配置文件以启用HTTPS。确保你的虚拟主机配置如下:
:443 > ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html/your-laravel-app/public SSLEngine on SSLCertificateFile /etc/letsencrypt/live/yourdomain.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.confAllowOverride All Require all granted -
重启Apache:
sudo systemctl restart httpd -
更新Laravel配置: 确保Laravel知道你正在使用HTTPS。编辑
.env文件:FORCE_SSL=true
使用Nginx部署HTTPS
-
安装Certbot:
sudo yum install epel-release sudo yum install certbot python2-certbot-nginx -
获取SSL证书: 运行Certbot来获取证书。
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com按照提示完成证书的获取和配置。
-
配置Nginx: Certbot会自动修改Nginx配置文件以启用HTTPS。确保你的服务器块配置如下:
server { listen 80; server_name yourdomain.com www.yourdomain.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name yourdomain.com www.yourdomain.com; ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; root /var/www/html/your-laravel-app/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } -
重启Nginx:
sudo systemctl restart nginx -
更新Laravel配置: 确保Laravel知道你正在使用HTTPS。编辑
.env文件:FORCE_SSL=true
注意事项
-
防火墙配置:确保你的防火墙允许HTTP(80)和HTTPS(443)流量。
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload -
SELinux配置:如果启用了SELinux,可能需要调整相关策略以允许Web服务器访问必要的文件和目录。
通过以上步骤,你应该能够在CentOS上成功部署Laravel应用程序的HTTPS。
以上就是关于“laravel在centos上如何部署HTTPS”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm