首页主机资讯laravel在centos上如何部署HTTPS

laravel在centos上如何部署HTTPS

时间2025-10-13 11:52:03发布访客分类主机资讯浏览279
导读:在CentOS上部署Laravel应用程序的HTTPS涉及几个步骤,包括获取SSL证书、配置Web服务器(如Apache或Nginx)以及更新Laravel配置。以下是使用Apache和Nginx的详细步骤: 使用Apache部署HTTPS...

在CentOS上部署Laravel应用程序的HTTPS涉及几个步骤,包括获取SSL证书、配置Web服务器(如Apache或Nginx)以及更新Laravel配置。以下是使用Apache和Nginx的详细步骤:

使用Apache部署HTTPS

  1. 安装Certbot: Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-apache
    
  2. 获取SSL证书: 运行Certbot来获取证书。

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

    按照提示完成证书的获取和配置。

  3. 配置Apache: Certbot会自动修改Apache配置文件以启用HTTPS。确保你的虚拟主机配置如下:

    <
        VirtualHost *: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.conf
    
        <
        Directory /var/www/html/your-laravel-app/public>
        
            AllowOverride All
            Require all granted
        <
        /Directory>
        
    <
        /VirtualHost>
    
    
  4. 重启Apache

    sudo systemctl restart httpd
    
  5. 更新Laravel配置: 确保Laravel知道你正在使用HTTPS。编辑.env文件:

    FORCE_SSL=true
    

使用Nginx部署HTTPS

  1. 安装Certbot

    sudo yum install epel-release
    sudo yum install certbot python2-certbot-nginx
    
  2. 获取SSL证书: 运行Certbot来获取证书。

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

    按照提示完成证书的获取和配置。

  3. 配置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;
    
        }
    
    }
        
    
  4. 重启Nginx

    sudo systemctl restart nginx
    
  5. 更新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。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: laravel在centos上如何部署HTTPS
本文地址: https://pptw.com/jishu/724565.html
centos环境下laravel如何使用缓存 laravel项目在centos上如何进行数据库迁移

游客 回复需填写必要信息