我有一个带有 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”,但得到了相同的结果。我在这个配置中遗漏了什么吗?如果没有并且这不是一个有效的功能,还有其他方法可以进行重定向吗?