如何允许外部自定义域在我的服务器上运行 Laravel 应用程序?

iti*_*rix 5 ssl nginx cloudflare laravel forge

我的应用程序是一个 Laravel 应用程序,在 Nginx 上运行,由 Forge 提供,SSL 证书由 CloudFlare 提供。

\n\n

它托管在类似https://www.myapp.com 的URL 上

\n\n

我的 app\xe2\x80\x99s 客户是企业,并且已经拥有自己的域:

\n\n
https://www.customer1.com\nhttps://www.customer2.com\nhttps://www.customer3.com\netc.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我希望我的客户从他们选择的子域运行 MyApp:

\n\n
https://some-name.customer1.com\nhttps://some-other-name.customer2.com\nhttps://any-name-they-want.customer3.com\netc.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的客户应该安装任何东西 \xe2\x80\x94 MyApp 仍然在 myapp.com 上运行,而不是在他们的服务器上运行

\n\n

我的客户应该(如果可能)修改他们的 DNS,可能添加一个 CNAME,例如“some-name\xe2\x80\x9d”,指向 \xe2\x80\x9cmyapp.com\xe2\x80\x9d

\n\n

我关注了这篇精彩的文章:Laravel 中的动态自定义域路由

\n\n

但我无法让它在 https(使用 SSL)环境中工作 - 浏览器返回:

\n\n
This site can\xe2\x80\x99t provide a secure connection\nsome-name.customer1.com uses an unsupported protocol.\n\nERR_SSL_VERSION_OR_CIPHER_MISMATCH\n\nThe client and server don\'t support a common SSL protocol version or cipher suite.\n
Run Code Online (Sandbox Code Playgroud)\n\n

应如何配置 Nginx 和/或 SSL 证书?

\n

小智 0

这仍然是一个不太简单的问题。

但是,Caddy 会自动生成 SSL(如果您可以选择用 Caddy 替换 Nginx)。

您可以查看文档了解更多信息。