【问题标题】:Redirect Meteor app from www to non-www using nginx使用 nginx 将 Meteor 应用程序从 www 重定向到非 www
【发布时间】:2016-02-17 02:29:43
【问题描述】:

我正在 Digital Ocean droplet 上运行两个 Meteor 应用程序。使用 nginx 进行反向代理。两者都在非 www 域上成功运行,但在 www.my-domain1.com 和 www.my-domain2.com 上只是“欢迎使用 Debian 上的 nginx!”页。 我认为这是因为在配置文件中我只使用非 www 域,如下所示:

server {  
 listen 80;
 server_name my-domain1.com;

 location / {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $remote_addr;
 }
}

和第二个应用程序的类似但不同的域和端口。我尝试使用Digital Ocean tutorial. 重定向,但它不起作用,而且我应该看到应用程序也在 www 域上运行。

【问题讨论】:

    标签: .htaccess redirect meteor nginx


    【解决方案1】:

    当前服务器正在端口 80 上侦听任何具有 my-domain1.com HOST 标头的请求。

    您首先需要在 server_name 行中添加 www.my-domain1.com 和 www.my-domain2.com:

    server_name my-domain1.com my-domain2.com www.my-domain1.com www.my-domain2.com;
    

    然后重启 Nginx。尽管有些指南会告诉您在 server_name 指令中使用 *.my-domain1.com *.my-domain2.com;我不会这样做,因为这需要在 Nginx 方面做更多的工作。一般来说,当您在同一个 Nginx 服务器中提供更多主机名时,调试包罗万象的设置会更加困难。

    要考虑的另一件事是上游服务器主机名。例如,如果您的上游应用程序只收听 my-domain1.com;您需要这样做,以便所有代理请求都包含此域名;否则上游应用程序将无法按预期处理请求。

    您可能需要添加

    proxy_set_header Host my-domain1.com;
    

    【讨论】:

      猜你喜欢
      • 2015-11-03
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2018-06-23
      • 2020-12-31
      相关资源
      最近更新 更多