包含关键字 int 的文章

记录下负载均衡+tomcat遇到的获取到错误scheme的坑

部署给客户的tomcat下的程序获取到的scheme始终是错误的

负载均衡使用的阿里slb,tomcat部署在阿里云centos7服务器上

浏览器到slb为https,slb到tomcat为http,已在slb上勾选传递 X-Forwarded-Proto,tomcat上也已配置对protocolHeader

程序启动后获取到的scheme始终为http,抓包检查slb到tomcat的数据,也确实传递有 X-Forwarded-Proto: https

后来偶然发现通过slb获取到的scheme错误,而通过ssh做本地端口转发,相同数据包,走本地端口转发时,tomcat上能够获取到正确的scheme。本地端口转发时tomcat获取到的客户端ip为127.0.0.1,slb时tomcat获取到的ip为100.x.x.x。

动态调试tomcat,发现是internalProxies导致的,查询相关文档(https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/valves/RemoteIpValve.html)。发现需要配置 internalProxies。

默认情况下internalProxies为10/8, 192.168/16, 169.254/16, 127/8, 172.16/12, and ::1

internalProxies控制可信ip范围, 在该范围中的ip才会使用header中传递的X-Forwarded-Proto等数据

IntelliJ IDEA License Server v1.6

使用说明详见:http://blog.lanyus.com/archives/174.html

v1.1版在这里:http://blog.lanyus.com/archives/189.html

v1.2版在这里:http://blog.lanyus.com/archives/228.html

v1.3版在这里:http://blog.lanyus.com/archives/231.html

v1.4版在这里:http://blog.lanyus.com/archives/305.html

v1.5版在这里:http://blog.lanyus.com/archives/314.html

更新说明:

修改默认端口为1027

- 阅读剩余部分 -

IntelliJ IDEA License Server v1.5

使用说明详见:http://blog.lanyus.com/archives/174.html

v1.1版在这里:http://blog.lanyus.com/archives/189.html

v1.2版在这里:http://blog.lanyus.com/archives/228.html

v1.3版在这里:http://blog.lanyus.com/archives/231.html

v1.4版在这里:http://blog.lanyus.com/archives/305.html

更新说明:

  1. 升级到 Golang 1.9
  2. 解决 mac os 10.13 无法使用的问题

- 阅读剩余部分 -

python中数字与C语言中double结构转换

最近遇到个问题需要将C语言中以double类型存储的数字在python中进行转换.

先看看C语言中double类型数据是如何存储的:
使用程序

int main()
{
    int i = 21;
    double d = (double)i;
    printf("%x\n",&d);
    return 0;
}

获取到21转换成double后在内存中存储的值, 具体为
0x00 0x00 0x00 0x00 0x00 0x00 0x35 0x40



- 阅读剩余部分 -