中国本土ではほとんどの Google IP が GFW によってブロックされているため、NGINx をリバース プロキシ サーバーとして使用して、中国本土から GAE (Google App Engine) Web サイトを開くことができるようにしたいと考えています。
DNS: 以下の DNS レコードがあります:-
A mydomain.com ==> x.x.x.x
CNAME www ==> ghs.google.com
CNAME * ==> ghs.google.com
リクエストが中国本土から来ている場合に備えて、geo DNS を使用してリバース プロキシを指定することを計画しています。現在は、ホスト レコードが mydomain.com を localhost にポイントするようにしてローカルでテストしています。
Ubuntu 12.04 に nginx 1.1.19 をインストールしています。
私のサイトの構成ファイルは次のとおりです:-
server {
#listen 80;
listen 443 ssl;
server_name mydomain.com;
ssl on;
ssl_certificate /home/user/Desktop/ssl/mydomain.com.pem;
ssl_certificate_key /home/user/Desktop/ssl/mydomain.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
large_client_header_buffers 4 16k;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# keepalive_timeout 70;
location / {
proxy_pass https://mydomain.com/;
proxy_set_header Host www.mydomain.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-HOST $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy-Hostname $scheme://$http_host;
proxy_redirect off;
proxy_intercept_errors on;
#error_page 500 = /error_page.html;
}
#location = /error_page.html {
# root /local_path_to_static_files_root;
#}
}
https://mydomain.com を開こうとしたとき:-
最初に接続数が少なすぎるというエラーが発生しましたが、nginx.conf ファイルに以下を追加/編集することで解決できます:-
events {
worker_connections 8024;
# multi_accept on;
}
その後、開いているファイルが多すぎるというエラーが発生しました。nginx.conf ファイルに以下を追加/編集することで解決しました:-
worker_rlimit_nofile 5000;
現在、エラー 504 ゲートウェイ タイムアウト (接続タイムアウト) が発生しています:-
私が何をしているのか、あるいは何を間違えたのか、何か分かりますか?
アップデート:
ホスト ファイル内に、リバース プロキシが mydomain.com に送られてくるリクエストを渡すため、それ自体がリクエストされ続けるため、無限リダイレクト ループが発生しましたmydomain.com ==> 127.0.0.1
。ループを回避するために、ホストからリクエストを渡す URL プロキシを削除しました。
解決済み
答え1
ホスト ファイル内に、リバース プロキシが mydomain.com に送られてくるリクエストを渡すため、それ自体がリクエストされ続けるため、無限リダイレクト ループが発生しましたmydomain.com ==> 127.0.0.1
。ループを回避するために、ホストからリクエストを渡す URL プロキシを削除しました。