Неправильный шлюз при настройке NGINX в качестве обратного прокси-сервера для GAE

Неправильный шлюз при настройке NGINX в качестве обратного прокси-сервера для GAE

Я хочу использовать NGINx в качестве обратного прокси-сервера, чтобы иметь возможность открывать свой веб-сайт GAE (Google App Engine) из материкового Китая, поскольку там большинство IP-адресов Google блокируются GFW.

DNS: У меня есть следующие записи DNS:-

A     mydomain.com ==> x.x.x.x
CNAME www          ==> ghs.google.com
CNAME *            ==> ghs.google.com

Я планирую использовать Geo DNS для указания на мой обратный прокси-сервер на случай, если запрос поступит из материкового Китая. В настоящее время я провожу локальное тестирование, настраивая запись хоста, указывающую mydomain.com на localhost.

У меня nginx 1.1.19 на Ubuntu 12.04.

Мой файл конфигурации сайта:-

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 Gateway Time-out (время ожидания соединения истекло):-

Есть идеи, что я делаю или сделал не так?

ОБНОВЛЯТЬ:

Это превратилось в бесконечный цикл перенаправления, потому что у меня mydomain.com ==> 127.0.0.1в файле hosts есть файл, а обратный прокси-сервер передает поступающие на него запросы на mydomain.com, поэтому он продолжает запрашивать сам себя. Я удалил URL-прокси, передающий запросы с хостов, чтобы избежать циклов.

РЕШЕНО

решение1

Это превратилось в бесконечный цикл перенаправления, потому что у меня mydomain.com ==> 127.0.0.1в файле hosts есть файл, а обратный прокси-сервер передает поступающие на него запросы на mydomain.com, поэтому он продолжает запрашивать сам себя. Я удалил URL-прокси, передающий запросы с хостов, чтобы избежать циклов.

Связанный контент