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

同一Ubuntu服务器Laravel站点跨主域名子域名无跳转映射咨询

结论

该需求完全可以在现有服务器上实现,无需额外采购服务器,按照以下步骤操作即可。

步骤1:Cloudflare DNS配置

  • 为sub1.domain1.de、sub2.domain2.nl分别添加A记录,记录值填写你现有Ubuntu服务器的公网IP,代理状态可根据你原有需求选择开启或关闭,不影响映射逻辑。

步骤2:Laravel Forge侧配置(二选一即可)

方案A:站点别名配置(推荐,配置最简单)

适合sub1.domain1.de和sub1.domain3.com需要展示完全一致的站点内容的场景:

  • 登录Laravel Forge,找到sub1.domain3.com对应的站点,进入「Meta」标签页
  • 在「站点别名」输入框中填入sub1.domain1.de,保存后Forge会自动更新Nginx配置
  • 重复上述操作,给sub2.domain3.com站点添加别名sub2.domain2.nl即可

如果需要Laravel内部根据访问域名做差异化逻辑,可在路由文件中配置域名路由规则,无需调整服务端配置。

方案B:反向代理配置

适合需要对请求做自定义处理、或者两个子域名站点底层部署逻辑不同的场景:

  • 在Forge中新建两个站点,域名分别填写sub1.domain1.de和sub2.domain2.nl,站点根目录可随意填写一个服务器上存在的路径
  • 进入对应站点的「Nginx配置」编辑页,找到默认的location /配置块,替换为以下内容:
location / {
    # sub1.domain1.de的配置填下方地址,sub2.domain2.nl的配置替换为https://sub2.domain3.com
    proxy_pass https://sub1.domain3.com;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect off;
}
  • 保存配置后重启Nginx即可生效

步骤3:SSL证书配置(必做)

无论是哪种方案,都需要给新的子域名配置SSL证书避免访问报错:进入对应站点的「SSL」标签页,申请免费的Let's Encrypt证书即可,如果你开启了Cloudflare代理,也可以选择配置Cloudflare Origin CA证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:06:04