2017-02-11 2 views
1

Я хотел получить доступ к своему веб-сайт доступный в http://localhost:4000 через Nginx обратный прокси-сервер с внешнего IP-адреса (не в моей сети)Nginx обратный прокси-сервер не работает на HTTP

Я включил переадресацию портов TCP на моем домашнем маршрутизаторе и экспедирования порт 80 в порт 80.

Когда я пытаюсь получить доступ к своему сайту как http://my.public.ip ИЛИ http://my.public.ip:80, страница не загружается. (Я попытался переправить фактический порт 4000 на маршрутизаторе и http://my.public.ip:4000, сайт был загружен штрафом)

Что может быть отсутствует.

Ниже мой ngnix конф:

#user nobody; 
worker_processes 1; 
events { 
    worker_connections 1024; 
} 
http { 
    include  mime.types; 
    default_type application/octet-stream; 
    send_timeout 1800; 
    sendfile  on; 
    keepalive_timeout 6500; 
    server { 
     listen 80; 
     location/{ 
      proxy_pass   http://localhost:4000; 
      proxy_set_header Host    $host; 
      proxy_set_header X-Real-IP  $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Client-Verify SUCCESS; 
      proxy_set_header X-Client-DN  $ssl_client_s_dn; 
      proxy_set_header X-SSL-Subject $ssl_client_s_dn; 
      proxy_set_header X-SSL-Issuer  $ssl_client_i_dn; 
      proxy_read_timeout 1800; 
      proxy_connect_timeout 1800; 
     } 
    } 
    # HTTPS server 

    server { 
     listen  443; 
     server_name localhost; 

     ssl     on; 
     ssl_certificate  server.crt; 
     ssl_certificate_key server.key; 
     ssl_session_timeout 5m; 

     ssl_protocols SSLv2 SSLv3 TLSv1; 
     ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 
     ssl_prefer_server_ciphers on; 

     location/{ 
      proxy_pass   http://localhost:3000; 
      proxy_set_header Host    $host; 
      proxy_set_header X-Real-IP  $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Client-Verify SUCCESS; 
      proxy_set_header X-Client-DN  $ssl_client_s_dn; 
      proxy_set_header X-SSL-Subject $ssl_client_s_dn; 
      proxy_set_header X-SSL-Issuer  $ssl_client_i_dn; 
      proxy_read_timeout 1800; 
      proxy_connect_timeout 1800; 
     } 
    } 
} 

ответ

0

Если вы хотите принять с IP-адрес вместо имени домена можно определить по умолчанию server_name так:

... 
http { 
    ... 
    server { 
     listen 80; 
     server_name _ ; 
     location/{ 
      ... 
     } 
    } 
    .... 
} 
Смежные вопросы