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

Laravel Octane+Nginx动态子域名配置方案咨询

解决Laravel Octane下动态子域名路由的Nginx配置问题

要让Nginx支持动态子域名并将正确的Host头传递给Octane,只需对现有配置做以下关键调整:

1. 配置泛域名匹配

首先在Nginx的server块中设置支持泛域名的server_name,确保所有子域名请求都能被正确捕获:

server {
    listen 80;
    listen [::]:80;
    # 匹配所有子域名和主域名
    server_name *.mywebsite.com mywebsite.com;
    root /path/to/your/laravel/project/public;
    index index.php;

2. 保留Host头传递(核心)

Laravel的动态子域名路由依赖完整的Host请求头来解析{slug}参数,所以必须确保Nginx将原始请求的Host头完整传递给Octane——你的现有配置中已经包含proxy_set_header Host $http_host;,不要移除这一行,这是让路由正常工作的关键。

3. 完整的Nginx配置示例

整合后的完整配置如下:

server {
    listen 80;
    listen [::]:80;
    server_name *.mywebsite.com mywebsite.com;
    root /path/to/your/laravel/public;
    index index.php;

    # 静态文件直接返回,减轻Octane负载
    location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        try_files $uri @octane;
    }

    location /index.php {
        try_files /not_exists @octane;
    }

    location / {
        try_files $uri $uri/ @octane;
    }

    location @octane {
        set $suffix "";

        if ($uri = /index.php) {
            set $suffix ?$query_string;
        }

        proxy_http_version 1.1;
        proxy_set_header Host $http_host; # 必须保留,传递完整Host头
        proxy_set_header Scheme $scheme;
        proxy_set_header SERVER_PORT $server_port;
        proxy_set_header REMOTE_ADDR $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;

        # 对应Octane配置中的监听地址(如Swoole默认是127.0.0.1:8000)
        proxy_pass http://127.0.0.1:8000$suffix;
    }
}

额外注意事项

  • DNS泛域名解析:确保你的域名服务商配置了*.mywebsite.com的A记录,指向你的服务器IP。
  • HTTPS配置:如果使用HTTPS,需要部署通配符SSL证书,并在server块中添加listen 443 ssl;及证书相关配置。
  • Octane监听地址:检查config/octane.php中的server配置,确保proxy_pass的地址和Octane实际监听的地址/端口一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 12:03:05