1

我有一个带有 SSL 终止的 AWS NLB -> kubernetes nginx 入口控制器配置,我希望能够仅将某些特定域从 http 重定向到 https。我在我的 Ingress 资源中使用以下服务器代码段:

    nginx.ingress.kubernetes.io/server-snippet: |
        if ($scheme = "http") {
          return 308 https://$host$request_uri;
        }

它实际上生成了正确的 nginx.conf 文件,但它不断重定向 http 和 https 请求。

server {
        server_name mydomain.com ;

        listen 80  ;
        listen 443  ssl http2 ;

        set $proxy_upstream_name "-";

        ssl_certificate_by_lua_block {
                certificate.call()
        }

        # Custom code snippet configured for host mydomain.com
        if ($scheme = "http") {
          return 308 https://$host$request_uri;
        }
    ...
}

我还尝试了注释“force-ssl-redirect”和“ssl-redirect”,但得到了相同的结果。我在这个配置中遗漏了什么吗?如果没有并且这不是一个有效的功能,还有其他方法可以进行重定向吗?

4

0 回答 0