QQ代理服务器的优势有哪些

前几天,重启了下Nginx代理服务,发现报错了,以下是本次的思考。

1:先解决问题

查看Nginx错误日志:

40 SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream

是SSL校验的问题,主要原因就是SNI TLS扩展没有传递,先说解决方法,主要和Nginx proxy_ssl_server_name指令有关,其官方解释:

Enables or disables passing of the server name through TLS Server Name Indication extension (SNI, RFC 6066) when establishing a connection with the proxied HTTPS server.

有点晦涩,该指令默认是关闭的,如果打开,Nginx会读取后端服务器的主机名,作为SNI值发送给后端服务器,这样代理服务器和后端能够正确的HTTPS握手。

设置很简单:

proxy_ssl_server_name on;

2:进一步思考

可为什么原来没问题,重启后就有问题?自己属实没想明白,不过思考作为代理服务器,那些指令应该显示的传递呢,下面列举了一些:

location /ai { proxy_pass http://; proxy_redirect off; proxy_ssl_server_name on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_max_temp_file_size 0; proxy_connect_timeout 3; proxy_send_timeout 15; proxy_read_timeout 165; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;}

具体就不解释了,超时设置应该重点关注。

3:超时

连接超时、写入超时、读取超时,主要关注读取时间,也就是等待服务器响应,先看图:

QQ代理服务器的优势有哪些

结构很复杂的,图中的网关和代理工作机制是差不多的,但角色不一样。

记住一个原则就行:下游(比如上图中的客户端就是第一个下游)设置的超时时间要大于上游的时间。

下面是两种情况:

client超时时间 > 代理时间,则503报错(Service Unavailable)client超时时间 < 代理时间,则504报错(Gateway Timeout)

欢迎大家关注公众号【Java烂猪皮】,回复【666】,获取最新Java后端架构VIP学习资料以及视频学习教程,然后一起学习,一文在手,面试我有。

公众号【Java烂猪皮】里面每天都会分享很多独家的干货内容,比如:Java后端学习路线,分享实战项目,源码分析,百万级系统设计,系统上线的一些坑,MQ专题,真实面试题,每天都会回答大家提出的问题。

每一个专栏都是大家非常关心,和非常有价值的话题,我相信在专栏中你会学到很多东西,一起共勉。

QQ代理服务器的优势有哪些
QQ代理服务器的优势有哪些

作者:虞大胆

出处:Nginx设置代理的一个注意点 (qq.com)

本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规等内容,请举报!一经查实,本站将立刻删除。
本站部分内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如发现本站有涉嫌抄袭侵权/违法违规等内容,请<举报!一经查实,本站将立刻删除。