我想使用 NGINx 作为反向代理服务器,这样我就可以从中国大陆打开我的 GAE(谷歌应用引擎)网站,因为那里大多数谷歌 IP 都被 GFW 阻止了。
DNS:我有这些 DNS 记录:-
A mydomain.com ==> x.x.x.x
CNAME www ==> ghs.google.com
CNAME * ==> ghs.google.com
如果请求来自中国大陆,我计划使用地理 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 ==> 127.0.0.1
在 hosts 文件中并且反向代理将发送到它的请求传递到 mydomain.com,所以它不断地自我请求,我删除了将请求传递到 hosts 的 URL 代理以避免循环。
解决了
答案1
它变成了无限重定向循环,因为我已经mydomain.com ==> 127.0.0.1
在 hosts 文件中并且反向代理将发送到它的请求传递到 mydomain.com,所以它不断地自我请求,我删除了将请求传递到 hosts 的 URL 代理以避免循环。