29

我最近使用以下命令部署了一个流星应用程序:

$ meteor deploy example.com

后来(认为它是相同的)使用以下内容:

$ meteor deploy www.example.com

它最终为应用程序的两个不同版本提供服务,一个托管在“example.com”中,另一个托管在“www.example.com”中。

我可以恢复其中一个部署吗?我应该恢复哪一个?

如果没有,我应该在我的域提供商上设置什么样的配置?

谢谢你,若奥

4

4 回答 4

41

当人们访问您的页面时,您希望他们看到mydomain.com还是www.mydomain.com

如果它是mydomain.com,那么您想设置您的 DNS 区域文件,其中包含A指向 IP 的域的记录origin.meteor.com

如果它是www.mydomain.com,那么您希望为CNAME指向的子域“www”设置 DNS 区域文件origin.meteor.com

然后,您希望将“域转发”从其中一个选项设置为另一个选项。例如,我将http://playlistparty.net设置为转发到http://www.playlistparty.net

在此之后,您只需运行:

meteor deploy www.playlistparty.net


您可以使用 --delete 选项删除不会使用的部署。

meteor deploy www.playlistparty.net --delete
于 2013-03-29T15:37:00.760 回答
12

在自定义域名上部署

将流星部署到您的域名:

meteor deploy mydomain.com

将 *.mydomain.com 或 www.mydomain.com(如果您只想设置 www 子域)和 mydomain.com 的 CNAME 记录设置为:origin.meteor.com

或者

将 *.mydomain.com 和 mydomain.com 的“A”记录指向 : 107.22.210.133

要删除您可能不小心输入的现有文件:

meteor deploy www.mydomain.com --delete
于 2013-03-29T13:57:40.127 回答
8

好的,我找到了一个简单的方法:

如果您希望 www 重定向到非 www,您可以使用此方法。您也可以稍微修改代码以换一种方式。

简单设置

@ (CNAME) : origin.meteor.comm
www (CNAME) : origin.meteor.com

然后,部署您的主应用程序(不带 www)。

meteor deploy yourapp.com

现在,创建一个名为 redirect 的新流星应用程序

meteor create redirect
cd redirect

设置生成的 js 文件内容如下:

if (Meteor.isClient) {
  var url = document.URL;
  url = url.replace("www.", "");
  window.location.href = url;
}

然后部署您的重定向应用程序(使用 www)

meteor deploy www.yourapp.com

您所做的是,您将两个不同的应用程序部署到您的域的 www 和非 www。www 上的流星应用程序所做的只是将您重定向到非 www 域。它还将www.yourapp.com/some/path重定向到yourapp.com/some/path。简单而强大的解决方案:)

于 2014-12-28T13:33:23.670 回答
4

我对此进行了很多谷歌搜索,所以我将分享最终为我工作的内容。我正在寻找所有查询以转到我网站的 HTTPS 和 www 版本。只是设置 CNAME 实际上并没有更改为重定向到 www 版本。我在 Modulus 上托管并最终执行了以下操作:

  1. 强制 HTTPS

    • Modulus 有一个 HTTPS 重定向,否则我已经使用 Force-SSL 包和 NGINX 在以前未托管在 Modulus 上的应用程序中成功地做到了这一点。
  2. 指向主机 IP 的域

    • 设置您的域、example.com、A 记录以指向我们的托管 IP。
    • 为“www”子域设置我的 CNAME 以指向相同的 IP。
  3. 强制 www

于 2015-06-27T00:09:55.120 回答