文章目录
安全 : 强制HTTPS的两种方式
互联网发展中,安全是非常重要的,由其是现在HTTPS非常普及的情况下,应用程序在公网上一般都会被强制要求HTTPS。
- Ingress强制HTTPS
- 应用强制HTTPS
Ingress强制HTTPS,在Ingress中设置即可.
应用强制HTTPS,当应用程序识别到用户使用的是HTTP协议访问时,强制跳转至HTTPS。这种场景一般推荐是应用程序直接向外提供服务,不经过Ingress时使用
1. Ingress配置重定向
- nginx.ingress.kubernetes.io/ssl-redirect:“true”
- nginx.ingress.kubernetes.io/force-ssl-redirect:“true”
2. 应用程序配置
- 配置https_port
- 或配置HttpsRedirectionOptions
- UseHttpsRedirection中间件
3. 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是否设置了有效证书,都会进行重定向
4. 应用程序配置代码
// startup
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();// 设置重定向
...
}
总结
应用程序在Kubernetes中强制HTTPS的做法就是设置Ingress注解,如果应用程序要设置强制HTTPS使用UseHttpsRedirection中间件
版权归原作者 Tiger_shl 所有, 如有侵权,请联系我们删除。