互联网发展中,安全是非常重要的,由其是现在HTTPS非常普及的情况下,应用程序在公网上一般都会被强制要求HTTPS。
Ingress强制HTTPS,在Ingress中设置即可.
应用强制HTTPS,当应用程序识别到用户使用的是HTTP协议访问时,强制跳转至HTTPS。这种场景一般推荐是应用程序直接向外提供服务,不经过Ingress时使用
// ingress配置
ingress:
enabled: true
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/rewrite-target: "/" // ingress到网关的路由,/表示默认
ssl-redirect表示当Ingress发现用户请求的是HTTP端口时,就重定向
force-ssl-redirect表示无论Ingress是否设置了有效证书,都会进行重定向
// startup
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();// 设置重定向
...
}
应用程序在Kubernetes中强制HTTPS的做法就是设置Ingress注解,如果应用程序要设置强制HTTPS使用UseHttpsRedirection中间件