【问题标题】:How to force https on Swisscom cloud foundry with Staticfile Buildpack (FORCE_HTTPS)如何使用 Staticfile Buildpack (FORCE_HTTPS) 在 Swisscom Cloud Foundry 上强制使用 https
【发布时间】:2017-03-24 22:57:17
【问题描述】:

我按照documentation 中的建议配置了env 选项FORCE_HTTPS = true

我的manifext.yml

env:
  APP_ENV: production
  FORCE_HTTPS: true

但是,当我使用 http 打开网站时,我不会被重定向到 https。

我使用自定义的 nginx.conf 文件

设置已应用

【问题讨论】:

  • 您有自定义的nginx.conf 文件还是使用默认文件?环境变量是否真的设置好了(可以用cf env <app-name> 验证)?您使用的是哪个版本的静态文件 buildpack?
  • 如果您使用cf ssh <appname> 访问容器并检查生成的nginx.conf,您可以验证该选项是否已应用。在容器中找到/app/nginx/conf/nginx.conf 中的配置。如果FORCE_HTTPS申请成功,根据buildpack源码应该看到有if ($http_x_forwarded_proto != "https") {一行:github.com/cloudfoundry/staticfile-buildpack/blob/…
  • 我已经在 Swisscom 的应用程序云上使用演示应用程序测试了该场景。 (只需发布一个新的静态托管应用程序,无需通过门户提供 zip 文件)。 http重定向对我有用。您也可以通过控制台查看配置:cf env {app-name}
  • cf 环境输出:用户提供:APP_ENV:生产 FORCE_HTTPS:真

标签: ssl http-headers cloud-foundry swisscomdev


【解决方案1】:

我将以下行添加到我的自定义“/nginx.conf”文件中。

    location / {
        <% if ENV["FORCE_HTTPS"] %>
            if ($http_x_forwarded_proto != "https") {
                return 301 https://$host$request_uri;
            }
        <% end %>
        ...
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-08
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多