You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Laravel应用遇HTTPS重定向及SSL协议错误问题

Laravel容器化后HTTPS重定向导致SSL错误的排查与解决

核心问题分析

你的Laravel应用强制将HTTP请求跳转到HTTPS,但Nginx容器并未配置SSL服务,也未提供有效的HTTPS端口映射,导致浏览器无法建立安全连接。

排查与修复步骤

1. 检查Laravel的HTTPS强制配置

Laravel有多处会触发HTTPS强制跳转,逐一排查:

  • 打开项目根目录的.env文件,确认APP_URL的值为http://localhost:8005,而非https://开头的地址,修改后保存。
  • 查看app/Providers/AppServiceProvider.php的boot方法,若存在如下代码,直接注释或删除:
    URL::forceScheme('https');
    
  • 进入PHP容器执行缓存清理命令,确保配置生效:
    php artisan config:clear
    php artisan cache:clear
    

2. 检查Nginx配置

若开发环境无需HTTPS,确保docker/nginx/default.conf无强制跳转HTTPS的规则,典型正确配置如下:

server {
    listen 80;
    server_name localhost;
    root /var/www/public;

    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000; # 此处php对应docker-compose中的PHP服务名
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

若配置中有return 301 https://$server_name$request_uri;这类跳转规则,直接删除。

3. 检查Docker Compose端口映射

确认docker-compose.yml中Nginx服务仅映射80端口到8005,示例:

services:
  nginx:
    image: nginx:alpine
    ports:
      - "8005:80"
    # 其他配置

若之前错误映射443端口但未配置SSL,需移除无效的443端口映射。

(可选)开发环境启用HTTPS的配置

若必须使用HTTPS,需完成以下操作:

  • 用openssl生成自签名SSL证书,放入docker/nginx/ssl目录
  • 修改Nginx配置,添加SSL监听与证书路径:
    server {
        listen 443 ssl;
        server_name localhost;
        root /var/www/public;
    
        ssl_certificate /etc/nginx/ssl/server.crt;
        ssl_certificate_key /etc/nginx/ssl/server.key;
    
        # 其余配置同HTTP版本
    }
    
    # 可选:将HTTP请求跳转至HTTPS
    server {
        listen 80;
        server_name localhost;
        return 301 https://$server_name$request_uri;
    }
    
  • 在docker-compose.yml中添加443端口映射:
    ports:
      - "8005:80"
      - "8443:443"
    
  • 修改Laravel的.env中APP_URL为https://localhost:8443

内容的提问来源于stack exchange,提问作者Saani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:42:22