基于 Traefik 的 Basic Auth 配置
前言
Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。
Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自己。
系列文章:
- 《基于 Traefik 的激进 TLS 安全配置实践》
今天我们基于 Traefik on K8S 来详细说明如何通过 BasicAuth MiddleWare 实现认证功能
使用 Basic Auth 的原因很简单, 比如我们想要将一个无认证的页面放到公网, 但是出于安全考虑又希望只有账号密码的用户才能访问. 比如: 放开 Prometheus UI/AlertManager UI 到公网就可以加上 Basic Auth.
创建 BasicAuth MiddleWare
创建 yaml 文件: (如注释中所述, users base64 串可以直接通过 htpasswd 生成)
# 声明 `users` 所在的secret
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:name: basic-authnamespace: kube-system
spec:basicAuth:secret: authsecret---
# Note: 在kubernetes的secret中,字符串(例如由htpasswd生成的)必须首先进行base64编码。
# 要创建一个encoded 的 user:password 对,可以使用以下命令:
# htpasswd -nb user password | openssl base64apiVersion: v1
kind: Secret
metadata:name: authsecretnamespace: kube-system
data:users: |2dGVzdDokYXByMSRINnVza2trVyRJZ1hMUDZld1RyU3VCa1RycUU4d2ovCnRlc3QyOiRhcHIxJGQ5aHI5SEJCJDRIeHdnVWlyM0hQNEVzZ2dQL1FObzAK
创建基于 BasicAuth MiddleWare 的 IngressRoute
如下所示, 在 middlewares
中引用了 basic-auth
:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:name: alertmanagernamespace: cert-manager
spec:entryPoints:- web- websecureroutes:- kind: Rulematch: Host(`alertmanager.ewhisper.cn`)middlewares:- name: hsts-headernamespace: kube-system- name: redirectshttpsnamespace: kube-system- name: basic-authnamespace: kube-systemservices:- name: kube-prometheus-alertmanagernamespace: monitoringport: 9093tls: {}
验证
访问对应页面后会弹出登录对话框, 如下:
正确输入账号密码才能访问
基于 Traefik 的 Basic Auth 配置相关推荐
- nginx basic auth配置踩坑记
nginx的basic auth配置由ngx_http_auth_basic_module模块提供,对HTTP Basic Authentication协议进行了支持,用户可通过该配置设置用户名和密码 ...
- 配置kubernetes服务basic auth
由于一些内部服务访问并不需要鉴权,如kubernetes-dashboard.traefik-ui,所以当我们想通过外网域名访问的时候会有安全问题.这里我们可以为服务配置basic auth,访问时需 ...
- Nginx配置Basic Auth登录认证的实现方法
这篇文章主要介绍了Nginx配置Basic Auth登录认证的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 有时候我们通过nginx搭建了一台文件服务器, 一般 ...
- Nginx下配置Http Basic Auth
nginx basic auth指令 第一条语句: 语法: auth_basic string | off; 默认值: auth_basic off; 配置段: http ...
- 基于 Traefik 的 ForwardAuth 配置
前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易. Traefik 可以与现有的多种基础设施组件(Docker.Swarm 模式.Kubernetes.Mara ...
- 基于 Traefik 的激进 TLS 安全配置实践
前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易. Traefik可以与现有的多种基础设施组件(Docker.Swarm模式.Kubernetes.Marathon. ...
- OkHttp配置Basic Auth
需求:远程服务使用HTTPS连接,并需要Basic Auth认证 在配置类里面注入一个自定义OkHttpClient @Value("${sign.httpName}")priva ...
- Rest Api 项目添加 Basic Auth 认证
title: Rest Api 项目添加 Basic Auth 认证 date: 2022-10-10 22:09 tags: [Java,Spring Boot,Rest Api,Basic Aut ...
- Basic Auth 和 OAuth的区别
开放平台有两种认证方式,一种是Basic Auth,一种是OAuth. 关于OAuth1,OAuth2的异同 移步->> https://blog.csdn.net/qq_1502829 ...
最新文章
- 批量替换sqlserver数据库TEXT字段类型的数据
- Expect 在网络管理中发挥着重要作用
- redis cluster集群模式总结
- vue axios拦截器的封装
- JavaFX官方教程(四)之Hello World,JavaFX样式
- 面试之 Python 进阶
- webservice小坑
- 吉他谱——寂寞是因为思念谁
- 响应式布局技术:App如何适配不同尺寸的设备
- XElement.Load 需要释放吗_因为信用卡逾期还不上坐牢了,刑满释放后,还需要继续还钱吗?...
- 【随便唱唱】猫的报恩-幻化成风
- postman 接口测试用例设计
- HTML邮件样式不生效,邮件Html踩坑
- Rietveld, or “How to revamp your code review process”
- 超强学位论文检索工具,你必须拥有!
- nio中的Files类常用方法
- 重装mysql_重装MySQL步骤详解
- 浅议信息系统控制在企业中的应用(lunwen+开题报告)
- (重要)同网段和不同网段设备通信过程详解
- TeXworks文献引用问题