【微服务部署】05-安全:强制HTTPS

文章目录

    • 安全 : 强制HTTPS的两种方式
      • 1. Ingress配置重定向
      • 2. 应用程序配置
      • 3. Ingress配置
      • 4. 应用程序配置代码
      • 总结

安全 : 强制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中间件

你可能感兴趣的:(微服务,NetCore,微服务,安全,https,后端)