istio 网关开启https访问链接重置

背景:

一上云租户使用平台提供的istio网关,开启https,然后发现访问一直链接重置。

排查过程:

1、检查代理的服务,进行了模拟访问是正常的,排除代理服务的问题。

2、检查网关实例的日志发现无异常,调用网关的接口,查看相应的路由是否添加进去,发现路由添加成功的。

3、模拟访问网关实例,看看网关日志是否记录请求进来。访问结果如下:

sh-4.2# curl -k https://127.0.0.1:30081/muc-app web/telecom

curl: (35)IcP connection reset by peer

通过模拟访问,查看网关日志实例,并未有相关请求日志进入。后来一度认为是开发版本的问题,也找咱们相关网关开发查看,也并未发现问题。

解决方案:

后来自己查询相关istio官方文档,猜测可能是证书存在问题,然后根据官方提供的方式生成证书,重新配置,发现可以正常访问了。如下图:

curl -k --insecure https://127.0.0.1:30081/muc-app-web/telecom\<meta http-equiv=pragma content=no-caccharset=utf-8><meta"no-cache, no-store, must-revalidate">link rel-icon href data:;base4,>title>m程v名显<link rel-"sho<link href-/muc-ap-web/static/css/ap.7c3af2faeeabe3630a65aba7cb7328.css rel-stylesheet>x/headxbodyxdiv id-ap>x/divx<script type-text/javascript3f8754646c1ab7c2.js>x<script typetext/javascript src=/muc-app-web/static/js/vendor.78760e801beaf3de05.jsx/scriptxscript type-text/javasc79a587675da4fd,is>[root@xz-official-view-69d5448798-69spm apps]#

至此问题算是解决,也同步给开发。

相关证书生成命令如下:

mkdir example_certs1

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj '/O=example Inc./CN=example.com' -keyout example_certs1/example.com.key -out example_certs1/example.com.crt

openssl req -out example_certs1/httpbin.example.com.csr -newkey

rsa:2048 -nodes -keyout example_certs1/httpbin.example.com.key -subj

"/CN=httpbin.example.com/O=httpbin organization" openssl x509 -req

-sha256 -days 365 -CA example_certs1/example.com.crt -CAkey example_certs1/example.com.key -set_serial 0 -in

example_certs1/httpbin.example.com.csr -out

example_certs1/httpbin.example.com.crt

mkdir example_certs2

openssl req -x509 -sha256 -nodes -days 365

-newkey rsa:2048 -subj '/O=example Inc./CN=example.com' -keyout example_certs2/example.com.key -out example_certs2/example.com.crt

openssl req -out example_certs2/httpbin.example.com.csr -newkey

rsa:2048 -nodes -keyout example_certs2/httpbin.example.com.key -subj

"/CN=httpbin.example.com/O=httpbin organization" openssl x509 -req

-sha256 -days 365 -CA example_certs2/example.com.crt -CAkey example_certs2/example.com.key -set_serial 0 -in

example_certs2/httpbin.example.com.csr -out

example_certs2/httpbin.example.com.crt

使用httpbin.example.com.key httpbin.example.com.crt

相关推荐
Mr_Xuhhh2 天前
传输层协议TCP(3)
运维·服务器·网络·网络协议·tcp/ip·http·https
No Silver Bullet2 天前
HTTPS 工作原理
网络协议·http·https
小大力2 天前
简单的 HTTPS 学习
网络协议·学习·https
qq_282195312 天前
cpp-httplib 测试https功能
网络协议·http·https
Akshsjsjenjd2 天前
Linux 服务部署:自签 CA 证书构建 HTTPS 及动态 Web 集成
linux·前端·https
Mr_Xuhhh3 天前
HTTPS 协议原理
网络·网络协议·测试工具·http·https
i_am_a_div_日积月累_3 天前
http与https协议区别;vue3本地连接https地址接口报500
网络协议·http·https
Mr_Xuhhh3 天前
传输层协议 TCP(1)
运维·服务器·网络·c++·网络协议·tcp/ip·https
GalaxyPokemon3 天前
HTTP和HTTPS的区别
网络协议·http·https
有谁看见我的剑了?4 天前
为 Promethus 配置https访问
网络协议·http·https