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

Posted

技术标签:

【中文标题】如何允许外部自定义域在我的服务器上运行 Laravel 应用程序?【英文标题】:How to allow external custom domains to run a Laravel app on my server? 【发布时间】:2019-08-14 03:57:12 【问题描述】:

我的应用是 Laravel 应用,运行在 nginx 上,由 Forge 提供,SSL 证书由 CloudFlare 提供。

它托管在像https://www.myapp.com 这样的 URL 上

我的应用的客户是企业,并且已经拥有他们的域名:

https://www.customer1.com
https://www.customer2.com
https://www.customer3.com
etc.

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

https://some-name.customer1.com
https://some-other-name.customer2.com
https://any-name-they-want.customer3.com
etc.

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

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

我关注了这篇精彩的文章:Dynamic custom domain routing in Laravel。

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

This site can’t provide a secure connection
some-name.customer1.com uses an unsupported protocol.

ERR_SSL_VERSION_OR_CIPHER_MISMATCH

The client and server don't support a common SSL protocol version or cipher suite.

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

【问题讨论】:

kinsta.com/knowledgebase/err_ssl_version_or_cipher_mismatch 你最后是怎么做的?你解决了吗? 【参考方案1】:

这还是个不太简单的问题。

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

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

【讨论】:

以上是关于如何允许外部自定义域在我的服务器上运行 Laravel 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 OAuth 2.0 正确地在我的自定义 API .net 核心中使用外部 API

如何允许用户在我的服务器上运行存储在我的数据库中的 jupyter 笔记本?

如何自定义具有 IP 地址的 URL

Drupal 视图模块卡在我的自定义主题上

如何在 Xamarin Forms 中使用自定义字体(任何外部字体)作为嵌入资源?

如何在我的 iOS 模拟器上自动安装自定义 CA 根证书以进行测试?