在 Windows Azure 的子文件夹下共享 link 托管 Ghost 博客的问题

Share link issue hosting Ghost blog under subfolder on Windows Azure

我已经通过 azure marketplace 建立了一个幽灵博客,这应该是从 https://github.com/felixrieseberg/Ghost-Azure

点击 deploy to azure 的等价物

假设我在:theblog.azurewebsites.net/

我希望它在 https://www.mycustomdomain.com/blog 并且我在另一个应用程序服务中有主站点,假设在 mainsite.azurewebsites.net/ 这个站点mycustomdomain.com DNS 都设置了证书。

在此站点中,我在 web.config

中进行了重写
<rule name="Reverse Proxy to blog" stopProcessing="true">
  <match url="^blog(.*)" />
  <action type="Rewrite" url="https://theblog.azurewebsites.net/blog/{R:1}" />
</rule>

目前我正在尝试在暂存站点中正确执行此操作,因此我正在 https://mainsite-staging.azurewebsites.[=62= 查看博客]/

上面的重写成功地向我显示了在 theblog.azurewebsites.net 上托管的博客,而无需更改浏览器中的 url。在博客中,我还将 websiteUrl 应用程序设置为 https://www.mycustomdomain.com.au/blog,因此我的规范 url 在博客文章中是正确的。

遗留问题

  1. 如果我点击博客中的徽标,link 将转到 https://theblog.azurewebsites.net 而不是 https://mainsite-staging.azurewebsites.net/bloghttps://www.mycustomdomain.com/blog
  2. 主页 link,即使在导航设置中指定为 https://www.mycustomdomain.com/blog link 正在访问 https://theblog。azurewebsites.net
  3. twitter和facebook的分享link是基于分享https://theblog.azurewebsites.net

我在互联网上搜索了很久...

我回答: 原来还有一个 websiteUrlSSL 应用程序设置未在自述文件中提及。

我也只需要设置这个。

在您的 web.config 中,您可以尝试设置您的自定义域 https://www.mycustomdomain.com/blog/{R:1} 而不是 Azure Web 应用程序 Url。应该将 URL 重写为您的自定义域并通过 DNS 服务器。

还有剩下的问题,我觉得应该跟ghost配置有关。请仔细检查您是否在 ghost 应用程序中设置了正确的配置,如 Custom Domain Setup

中所述

原来还有一个 websiteUrlSSL 应用程序设置未在自述文件中提及。

我也刚好需要设置这个。

https://github.com/felixrieseberg/Ghost-Azure/issues/57

在你阅读我的回答之前

  • 我将我的服务器设置在 apache 而不是 Azure 上,所以我不确定 Microsoft Azure 中的配置
  • 您需要访问您的 Ghost 博客站点的文件
  • 我的回答是关于 Ghost 应用程序的配置而不是 Azure 系统配置

回答

  1. 使用您喜欢的任何编辑器打开位于 /path/to/ghost/config.js 的文件
  2. 找到行 production 并且在它下面你应该有一个 url:http://yourdomain.com 将它修改为你想要的URL
  3. 在这种情况下,您应该要求您的托管服务提供商 Azure 重新启动 Ghost 的节点 js 应用程序(如果您想使用 SSH 方法,您可以访问 A2Hosting tutorial 但是因为它使用的是终端,所以我不使用这种方法,如果你的命令有误,它可能会破坏你的服务器)
  4. 我查看了共享功能的设置,它似乎是基于 post URL 所以如果在更改 URL 部分的配置后它不能立即工作告诉我

最后我不能在重写规则上帮助你,因为我不熟悉 IIS 或 Microsoft Azure