Я хочу использовать NGINx в качестве обратного прокси-сервера, чтобы я мог открыть свой веб-сайт GAE (движок приложений Google) из материкового Китая, потому что там большая часть IP-адресов Google заблокирована GFW.
DNS: у меня есть эти записи DNS: -
A mydomain.com ==> x.x.x.x
CNAME www ==> ghs.google.com
CNAME * ==> ghs.google.com
Я планирую использовать географический 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-прокси, передающий запрос от хостов, чтобы избежать циклов.
Решено
Это оказался бесконечный цикл перенаправления, потому что у меня mydomain.com ==> 127.0.0.1
в файле hosts и обратный прокси передает запросы, поступающие к нему, на mydomain.com, чтобы он продолжал запрашивать его самостоятельно, я удалил URL-прокси, передающий запрос от хостов, чтобы избежать циклов.