全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 2550|回复: 17

[已解决] 后端ip发送变化的时候,应如何自动更新后端ip,避免502错误

[复制链接]
发表于 2012-12-23 11:20:02 | 显示全部楼层 |阅读模式
本帖最后由 joyanhui 于 2012-12-23 11:24 编辑

  1. server
  2.         {
  3.                 listen       80;
  4.                 server_name 123.com www.123.com;
  5.                 location /
  6.                         {
  7.                                 proxy_pass http://domina.3322.com:7780/; #反代的网站的域名,采取动态IP
  8.                                 proxy_set_header Host $host;
  9.                         }                access_log off;
  10.         }
复制代码
每次后端服务器ip发送变化 都会出现502错误。

试过
1、重启nscd
2、重启nginx

都不行,最后重启 前端nginx服务器才可以。。。

除了重启服务器,应该有别的方法可以搞定的吧?
发表于 2012-12-23 11:20:29 | 显示全部楼层
友情帮顶!
发表于 2012-12-23 11:24:07 | 显示全部楼层
没遇到过好像
发表于 2012-12-23 11:35:43 | 显示全部楼层
本帖最后由 lazyzhu 于 2012-12-23 11:50 编辑

location加个
resolver 8.8.8.8;
dns更新时间依据域名TTL,也可以自己指定时间:
resolver 8.8.8.8 valid=60s;

补充:proxy_pass 后面一定要有变量才有效。
发表于 2012-12-23 11:40:17 | 显示全部楼层
还是小灰灰给力
 楼主| 发表于 2012-12-23 12:04:51 | 显示全部楼层
lazyzhu 发表于 2012-12-23 11:35
location加个
resolver 8.8.8.8;
dns更新时间依据域名TTL,也可以自己指定时间:

proxy_pass  就是指定的后端的ip,怎么设置成变量呢?
发表于 2012-12-23 12:09:05 | 显示全部楼层
joyanhui 发表于 2012-12-23 12:04
proxy_pass  就是指定的后端的ip,怎么设置成变量呢?


我以为proxy_pass后面是域名呢,域名的IP会变化了。

如果是IP且知道是哪些IP的话,可以用Upstream
http://wiki.nginx.org/HttpUpstreamModule
发表于 2012-12-23 12:14:37 | 显示全部楼层
joyanhui 发表于 2012-12-23 12:04
proxy_pass  就是指定的后端的ip,怎么设置成变量呢?

你的http://domina.3322.com:7780/是IP吗?我倒了。。

proxy_pass http://domina.3322.com:7780/;
改成:
set $backend http://domina.3322.com:7780/;
proxy_pass $backend;
发表于 2012-12-23 12:21:07 | 显示全部楼层
upstream呗
发表于 2012-12-23 12:29:26 | 显示全部楼层
有个502自动脚本转向。。搜搜
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-3 18:43 , Processed in 0.072338 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表