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

相关推荐
找藉口是失败者的习惯24 分钟前
HTTP vs. HTTPS:从基础到安全的全面对比
安全·http·https
ascarl20101 小时前
生成自签名证书并配置 HTTPS 使用自签名证书
网络协议·http·https
前端李易安5 小时前
什么是HTTP,什么是HTTPS?HTTP和HTTPS都有哪些区别?
网络协议·http·https
IT小辉同学5 小时前
一键生成本地SSL证书:打造HTTPS安全环境
安全·https·ssl
胎粉仔5 小时前
网络初阶——应用层:HTTPS 协议
网络协议·http·https
earthzhang202118 小时前
《深入浅出HTTPS》读书笔记(7):安全的密码学Hash算法
网络·网络协议·http·https·1024程序员节
GGBondlctrl2 天前
丹摩征文活动 |【网络原理】关于HTTP的进化之HTTPS的加密原理的那些事
网络·https·非对称加密·对称加密·中间人攻击
胖头鱼不吃鱼-2 天前
HTTP和HTTPS的区别
网络协议·http·https
B.-2 天前
在 Flutter 应用中调用后端接口的方法
android·flutter·http·ios·https
wdxylb3 天前
将C++搭建的简单HTTP服务器升级为 HTTPS 服务器
运维·服务器·https