解决alitomcat中无法获得https协议的问题
2023-09-27 14:27:26 时间
###事件:
客户反馈,为什么配置https请求,使用request.getScheme()、request.getServerPort(),后台获取访问协议和端口的时候还是获取的http和80。。
###用户架构: CDN+SLB+EDAS应用
CDN使用443端口回源
SLB配置安全证书使用HTTPS公网IP访问
EDAS使用Alitomcat,server.xml配置
通过tcpdump抓包,看到在访问SLB的https协议时,X-Forwarded-Proto确实为https
大数据开发基础的计算机网络的DNS/HTTP/HTTPS协议 在大数据开发中,计算机网络的DNS/HTTP/HTTPS协议是非常基础和重要的协议,它们负责着网络通信和数据传输的关键任务。以下是这些协议的简要介绍。
一点http协议及报文的学习 # 引言 今天我们一起学习一些前端理论上的一些知识-http # Http的历史 **HTTP**(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。自 Tim Berners-Lee 博士和他的团队在 1989-1991 年间创造出它以来,HTTP 已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP 已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和 3D 效果的现代复杂互联网协议。 http协议从最早的只支持get,响应只有html的http0.9不断发展,到简单可
HTTPS协议实现的原理 HTTPS协议,相关的概念包括SSL、非对称加密、CA证书 先说一下什么是对称加密和非对称加密。 双方加密解密都用相同密钥的算法,称为对称加密算法。 使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。
【Node.js】HTTP协议、HTTP的请求报文和响应报文 HTTP 全称为超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议,基于TCP的连接方式,它可以使浏览器更加高效,使网络传输减少。
客户反馈,为什么配置https请求,使用request.getScheme()、request.getServerPort(),后台获取访问协议和端口的时候还是获取的http和80。。
用户架构: CDN+SLB+EDAS应用其中
CDN使用443端口回源
SLB配置安全证书使用HTTPS公网IP访问
EDAS使用Alitomcat,server.xml配置
Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto"/
通过用户沟通已经需求已经比较清晰。
用户希望在后端ECS处,可以拿到客户端真实请求的来源IP(x-forwarded-for)和协议(X-Forwarded-Proto),但目前情况是在自建服务器的tomcat上使用正常,换成阿里服务器后有问题,获得的仍然是http和80。
通过tcpdump抓包,看到在访问SLB的https协议时,X-Forwarded-Proto确实为https
如果没有配置,则默认IP地址为
Regular expression (using java.util.regex) that a proxys IP address must match to be considered an internal proxy. Internal proxies that appear in the remoteIpHeader will be trusted and will not appear in the proxiesHeader value. If not specified the default value of 10\.\d{1,3}\.\d{1,3}\.\d{1,3}|192\.168\.\d{1,3}\.\d{1,3}|169\.254\.\d{1,3}\.\d{1,3}|127\.\d{1,3}\.\d{1,3}\.\d{1,3}|172\.1[6-9]{1}\.\d{1,3}\.\d{1,3}|172\.2[0-9]{1}\.\d{1,3}\.\d{1,3}|172\.3[0-1]{1}\.\d{1,3}\.\d{1,3} will be used.
详细内容可以访问
http://tomcat.apache.org/tomcat-6.0-doc/api/org/apache/catalina/valves/RemoteIpValve.html
重启应用后,用SLB访问Https测试可得:
验证生效,结果正确。
大数据开发基础的计算机网络的DNS/HTTP/HTTPS协议 在大数据开发中,计算机网络的DNS/HTTP/HTTPS协议是非常基础和重要的协议,它们负责着网络通信和数据传输的关键任务。以下是这些协议的简要介绍。
一点http协议及报文的学习 # 引言 今天我们一起学习一些前端理论上的一些知识-http # Http的历史 **HTTP**(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。自 Tim Berners-Lee 博士和他的团队在 1989-1991 年间创造出它以来,HTTP 已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP 已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和 3D 效果的现代复杂互联网协议。 http协议从最早的只支持get,响应只有html的http0.9不断发展,到简单可
HTTPS协议实现的原理 HTTPS协议,相关的概念包括SSL、非对称加密、CA证书 先说一下什么是对称加密和非对称加密。 双方加密解密都用相同密钥的算法,称为对称加密算法。 使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。
【Node.js】HTTP协议、HTTP的请求报文和响应报文 HTTP 全称为超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议,基于TCP的连接方式,它可以使浏览器更加高效,使网络传输减少。
相关文章
- 001使用HTTPS协议设置免密码提交代码
- https如何使用python+flask来实现
- http协议(十一)http与https
- 设置https以及http转https的问题
- Linux网络-HTTPS协议
- 【计算机网络】HTTP协议 vs HTTPS协议
- jeecms 强大的采集功能优化 转载 https://blog.csdn.net/jeff06143132/article/details/7099003
- Topshelf:一款非常好用的 Windows 服务开发框架 转发https://www.cnblogs.com/happyframework/p/3601995.html
- 转载 .Net多线程编程—任务Task https://www.cnblogs.com/hdwgxz/p/6258014.html
- 转: https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL
- 给浏览器和各种软件配置 http https socks5 代理 proxy
- iOS ASIHTTPRequest用https协议加密请求
- 浅谈 HTTP 和 HTTPS
- request to https://registry.npmjs.org/vue-cli failed, reason: read ECONNRESET
- HTTPS原理解析-转
- 配置透明代理squid支持https与http
- nginx配置ssl证书实现https访问
- phonegap 解决https访问问题