traefik网关的https上游配置

打印 上一主题 下一主题

主题 556|帖子 556|积分 1668

traefik v2 https 上游 upstream 边缘 Edge Gateway 博客园

---【前言】---


 
k4t国产k8s。qq群号:722528388
为了给【国产k8s】选几款网关,我盯上了欧洲人开发的老牌网关traefik。
因为没有中文网站和社区支持,自己研究很费劲。
我把经验总结下来,给大家使用。
 
---【正文】---


---【特色&优缺点】---


* 支持win中使用。这很好,很方便。
* 支持http,https,发送api。
* 支持etcd,redis,云存储等作为存储数据面。
* 支持watch目录。
* 动态配置文件名支持中文。扩展名支持yaml,toml。只需要把某个路由扩展名改成.txt,即代表删除此路由。
* 动态配置文件只支持utf8,无bom头编码。支持井号开始的注释。但尽量单独一行。支持中文注释。静态配置文件不支持中文。
* 基于分布式数据库,或者频繁复制文件,达到数据面高可用。
* 自带dashboard。但免费版只能看,不能编辑。建议测试服打开,工作服关闭dashboard。
* 位于欧洲,github上不接受技术支持。公司自建论坛只支持英文。论坛中文邮箱注册不上。
* 中文网站,论坛很不活跃。讨论基本没有。难以获取支持。
我发现自从2021年中开始,网上学习研究这个网关的就开始减少了。
这也是我写本文的目的,希望本文能给这个网关注入点活力。

---【弄好的配置文件例子】---


在:
https://gitee.com/chuanjiao10/powershell/tree/master/gateway_client/traefik
baidu.toml:本文代码。
zhengze3.toml.txt:正则替换的例子。
默认不起作用,需要把baidu.toml改名。然后把此文件改名成toml
http2http.toml: 从http路由,转http上游
openssl.conf:证书配置文件。
traefik.toml:启动用的静态配置文件。
 
---【用traefik配置边缘网关,并使用https上游】---


这里先要把 test223.com ,在host文件中指向本机。
对于win,就是:
c:\Windows\System32\drivers\etc\host文件中写入:
127.0.0.1  test223.com

然后:
目的:所有http,都转https
 
  1. [http.routers]
  2. [http.routers.my-router]
  3. rule = "Host(`test223.com`) && PathPrefix(`/baidu`)"
  4. middlewares = "redirect2https"
  5. entryPoints = "web"
  6. service = "noop@internal"
  7. [http]
  8. [http.middlewares]
  9. [http.middlewares.redirect2https.redirectScheme]
  10. scheme = "https"
复制代码
 
注意:上面的这段代码,不能独立工作,需要下面的代码。
目的:从https,显式,转https网址
  1. [http.routers.my-router-https]
  2. rule = "Host(`test223.com`) && PathPrefix(`/baidu`)"
  3. service = "noop@internal"
  4. entryPoints = "websecure"
  5. middlewares = "https-upstream"
  6. [http.routers.my-router-https.tls]
  7. [http.middlewares.https-upstream.redirectRegex]
  8. regex = "^https://test223.com/baidu$"
  9. replacement = "https://www.baidu.com"
复制代码
 

---【用openssl制作,自签名证书】---



cd a:\traefik_v2.9.10
openssl req -x509 -nodes -days 3660 -newkey rsa:2048 -keyout test223.key -out test223.cert  -config A:\traefik_v2.9.10\openssl.conf

测试:
curl.exe -kv https://test223.com/baidu
powershell v5:Invoke-WebRequest https://test223.com/baidu
powershell v7:Invoke-WebRequest https://test223.com/baidu -SkipCertificateCheck

win中,用浏览器测试:
运行certmgr.msc,把证书导入到【受信任的根证书颁发机构】。

注意,尽量使用curl,或powershell测试。浏览器有时候会缓存旧的路由,或上游。
变更后,即便重启浏览器,也还是旧路由,旧上游。需要重启win。有时候重启win,也不更新。
 
---【谢谢观看,完】---

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大号在练葵花宝典

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表