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

相关推荐
一只很酸de橘子8 小时前
关于https请求丢字符串导致收到报文解密失败问题
网络协议·http·https
whoarethenext9 小时前
初始https附带c/c++源码使用curl库调用
服务器·c++·qt·https·curl
mxbb.13 小时前
我的HTTP和HTTPS
网络协议·http·https
Zz_waiting.13 小时前
网络原理 - 10(HTTP/HTTPS - 1)
网络·http·https
w236173460119 小时前
HTTP vs HTTPS:传输协议的安全演进与核心差异
安全·http·https
YJQ99671 天前
Nginx防盗链及HTTPS:保护网站内容安全与加密传输
nginx·安全·https
问道飞鱼1 天前
【知识科普】HTTPS 加密中信息的可见性详解
网络协议·http·https·ssl·tls
浪裡遊1 天前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
喝养乐多长不高2 天前
详细PostMan的安装和基本使用方法
java·服务器·前端·网络协议·测试工具·https·postman
_揽3 天前
前端开发本地配置 HTTPS 全面详细教程
网络协议·http·https