0%

最近在生产服务上遇到 nginx 正向代理连接失败的问题。

1
2
2019/10/22 15:25:21 [error] 1930#0: *1482670 connect() to [AAAA:BBBB:C:DDD:E:F:GGG:HHH]:443 failed (101: Network is unreachable) while connecting to upstream, client: AA.BB.CC.DD, server: example.com, request: "GET /download/file HTTP/1.0", upstream: "https://[AAAA:BBBB:C:DDD:E:F:GGG:HHH]:443/download/file", host: "example.com"

分析错误日志,应答是nginx尝试连接目标的 IPv6 地址端口时失败,错误101: Network is unreachable

服务器没有IPv6地址,那就禁用nginx的IPv6解析

禁用IPv6很简单

1
resolver 8.8.8.8 ipv6=off;

最近遇到部署https网站,在iOS端访问正常,在Android端访问异常,检查发现是证书链补全导致,缺少中间证书。

阅读全文 »

加入极客时间《左耳听风》第3期 ARTS 打卡小组

阅读全文 »

值得学习的C语言开源项目

1. Webbench

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。
下载链接:http://home.tiscali.cz/~cz210552/webbench.html

阅读全文 »

在linux下写程序时常常需要对命令行参数进行处理。下面比对下getopt、getopt_long、getopt_long_only。

阅读全文 »

最近在看《UNIX网络编程-第二版-卷2:进程间通讯》,下载了源码,在SLES SP4 32bit 无法编译,需要做些修改如下

1 下载源码:

W. Richard Stevens的主页:http://www.kohala.com/start/

1
wget http://www.kohala.com/start/unpv22e/unpv22e.tar.gz -P /usr/local/src

2 解压

1
tar xvf /usr/local/src/unpv22e.tar.gz -C /root/bin
阅读全文 »

有些网络应用在网线断开后重新连上的情况下 tcp socket 连接保持 ESTABLISH 状态不变

阅读全文 »