NGINX를 GAE용 역방향 프록시 서버로 설정할 때 잘못된 게이트웨이

NGINX를 GAE용 역방향 프록시 서버로 설정할 때 잘못된 게이트웨이

대부분의 Google IP가 GFW에 의해 차단되어 있기 때문에 NGINx를 역방향 프록시 서버로 사용하여 중국 본토에서 GAE(Google 앱 엔진) 웹 사이트를 열 수 있습니다.

DNS: 해당 DNS 레코드가 있습니다.-

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

요청이 중국 본토에서 오는 경우 지역 DNS를 사용하여 내 역방향 프록시를 가리킬 계획입니다. 현재 호스트 기록이 mydomain.com을 localhost로 지정하도록 하여 로컬로 테스트하고 있습니다.

우분투 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역방향 프록시가 들어오는 요청을 mydomain.com으로 전달하여 계속해서 자체적으로 요청하기 때문에 무한 리디렉션 루프로 바뀌었습니다. 루프를 피하기 위해 호스트에서 요청을 전달하는 URL 프록시를 제거했습니다.

해결됨

답변1

호스트 파일에 있고 mydomain.com ==> 127.0.0.1역방향 프록시가 들어오는 요청을 mydomain.com으로 전달하여 계속해서 자체적으로 요청하기 때문에 무한 리디렉션 루프로 바뀌었습니다. 루프를 피하기 위해 호스트에서 요청을 전달하는 URL 프록시를 제거했습니다.

관련 정보