NGINX を GAE のリバース プロキシ サーバーとして設定する場合のゲートウェイの不具合

NGINX を GAE のリバース プロキシ サーバーとして設定する場合のゲートウェイの不具合

中国本土ではほとんどの 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 プロキシを削除しました。

関連情報