不同环境的不同nginx配置

Different nginx config for different environments

我有一个 Rails 应用程序托管在两个不同的服务器(都带有 dokku)用于生产和暂存环境。第一个托管在 www.mywebsite.com.br,第二个托管在 www.staging.mywebsite.com.br

我们在生产中使用 SSL 证书,所以我写了

return 301 https://www.mywebsite.com.br$request_uri;

在我的 nginx.conf.sigil 文件中,以便每个路径都重定向到 https URI。一切正常。

但是现在当我进入临时环境时,所有 URI 也将我重定向到 https://www.mywebsite.com.br 而不是 http://www.staging.mywebsite.com.br。这是有道理的,因为我正在重定向该行中的所有请求,但我似乎找不到针对这两种不同需求配置我的 nginx.conf.sigil 文件的解决方案。

提前致谢,新年快乐 =)

您需要为每个 server/environment 稍微分开的 nginx conf 文件,为每个文件替换正确的域名。您可以查看 https://serverfault.com/questions/250476/how-to-force-or-redirect-to-ssl-in-nginx 了解更多详细信息和示例。