基于 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 ...
最新文章
- 还不知道BeanFactory和ApplicationContext的区别?
- esp8266 wifi模组入网案例
- 【机器学习】6大监督学习模型:毒蘑菇分类
- 什么是RPC?RPC框架dubbo的核心流程
- matlab中antoine方程应用,Antoine方程 安托因方程
- element form自定义校验_SpringBoot分组校验及自定义校验注解
- mysql route mycat_mycat
- 寻找数组中 的最大值最小值
- 软考信息系统项目管理师_考试题型介绍_选择题75分_45分过_案例分析题_75分_45分过_计算题_论文题的架构和写法---软考高级之信息系统项目管理师002
- APP的UI自动化测试框架及平台化探索
- 自己动手写操作系统-经典书籍
- cass软件yy命令_南方CASS软件快捷命令大全,高手必备。。。
- 安装Visual Studio2019一直显示网络未连接
- VS2008下载地址和版本破解
- 零度之下代码输入不了_期末考试查分,基于青果高校教务系统的一个自动python脚本代码
- c++读取cfg文件
- 基于一维卷积神经网络的滚动轴承故障识别
- oracle数据库事务日志已满,SQL Server中已满事务日志原因的检测(上)
- 儿童滑雪单板双板等级标准
- 一份标准的软件测试方案模板