--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html
Hello!
我验证了下 好像并不能使用长链接!配置如下:location = /xxxxx/xxxxxxx{proxy_pass http://xxxxxxx.xxxxxxx.net/xxxxxx/xxxxxxxx;keepalive_requests 1000;keepalive_timeout 15s;
proxy_http_version 1.1;proxy_set_header Connection "keep-alive";
proxy_connect_timeout 10;proxy_send_timeout 10;proxy_read_timeout 10;}
代理到后端的机器,后端的机器中http请求打印出来的日志 $connection 每次都不一样 $connection_requests 都是1
请春哥 给出详细的配置 谢谢!
在 2015年10月14日星期三 UTC+8下午3:12:11,agentzh写道:
--
Hello!
2015-10-14 11:22 GMT+08:00 杨白冰:
> 代理服务器nginx A 通过域名代理到后端的服务器B,A是通过http1.1 长链接代理到B中,但是B的域名指向的ip会动态变化。
>
> 目前的配置如下:
> http{
> resolver xxx.xxx.xxx.xxx valid=30s;
> server{
> location = /xxxx/xxxx
> {
> proxy_pass http://aaa.aaa.com/xxxx/xxxxxx;
>
[...]
> 以上配置的问题是,域名指向的动态ip 能够顺利切换,但是 并没有用上长链接。
>
在 proxy_pass 中静态指定的域名是在 nginx 启动时使用系统的 resolver
#你这里系统的resolver是操作系统的resolver还是说nginx配置文件里的resolver?
来解析的,而且解析结果一直不会变化。你可以使用 nginx 变量来强制 ngx_proxy 模块总是使用 nginx
自己的(非阻塞的)DNS resolver 来解析这里的域名,比如
#除了你说的这种场景,利用变量替换url外,nginx的resolver 还有什么用呢?我的理解是nginx在启动或重载时都会用系统的DNS去
#解析upstream server以及proxy_pass后面的url(这个是阻塞的)。只有当启动或重载时解析的ip访问失败时nginx才
#使用resolver 后面的dns服务器?其实我问这么多,我对resolver指令理解的不是很深,谢谢春哥解答下
Hello!
2016-01-21 7:06 GMT-08:00 Paul Von:
>
> 春哥:
>
> 你好,我有点疑问,见原文中的红字
请尽量不要使用红字,看着伤眼,你只需要确保你的内容没有 > 前缀,我就可以很方便地看到。另外,建议尽量使用纯文本格式。
> 你这里系统的resolver是操作系统的resolver还是说nginx配置文件里的resolver?
我这里说的是操作系统的 resolver,这个总是阻塞的。
>> 来解析的,而且解析结果一直不会变化。你可以使用 nginx 变量来强制 ngx_proxy 模块总是使用 nginx
>> 自己的(非阻塞的)DNS resolver 来解析这里的域名,比如
>>
> 除了你说的这种场景,利用变量替换url外,nginx的resolver 还有什么用呢?我的理解是nginx在启动或重载时都会用系统的DNS去
> 解析upstream server以及proxy_pass后面的url(这个是阻塞的)。只有当启动或重载时解析的ip访问失败时nginx才
> 使用resolver 后面的dns服务器?其实我问这么多,我对resolver指令理解的不是很深,谢谢春哥解答下
NGINX 的 resolver 是非阻塞的,只有当实际处理请求时需要临时解析动态域名时才会调用。当系统 resolver
解析域名失败时,并不会调用 nginx 自身的 resolver.
Regards,
-agentzh