20

Nginx を単純なリバース プロキシとして構成しました。

基本設定だけ使ってる

location / {
    proxy_pass foo.dnsalias.net;
    proxy_pass_header Set-Cookie;
    proxy_pass_header P3P;
}

問題は、しばらくすると (数日) nginx の背後にあるサイトにアクセスできなくなることです。Indead nginx は、悪い IP を呼び出そうとします (nginx の背後にあるサイトは、私のボックスの後ろにある私の家にあり、私の IP が修正されていないため、dyn-dns を使用しています)。このdyn-dnsは常に有効です(自分のサイトを直接呼び出すことができます)が、あいまいな理由でNginxがそれで立ち往生します..

前述のように、nginx はしばらくすると 504 Gateway Timeout を返します。自宅でIPを変更するとエラーが発生するようです。エラー ログのサンプルを次に示します。

[error] ... upstream timed out (110: Connection timed out) while connecting to upstream, client: my.current.ip, server: myreverse.server.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://my.old
.home.ip", host: "myreverse.server.com"

nginx が DN の代わりに ip を使用している理由を知っていますか?

4

2 に答える 2

5

多分これをチェックしてください http://forum.nginx.org/read.php?2,215830,215832#msg-215832

resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass http://$backend;

In such setup ip address of "foo.example.com" will be looked up
dynamically and result will be cached for 5 minutes.
于 2014-11-16T13:28:30.447 に答える