2013-03-16 15 views
6

Próbuję skonfigurować prostą statyczną stronę internetową i mam problem z nginxem, który jest skomplikowany przez wiele rzeczy, przede wszystkim fakt, że mój dostawca usług internetowych blokuje cały ruch przychodzący portu 80.Nginx ukryj przekazany numer portu

Najpierw ustawiłem przekierowanie do internetu, aby witryna www.mysite.com przekierowywała na adres mysite.com: 8000, a następnie skonfigurowałem router, aby przekazywał port 8000 do mojego serwera z uruchomionym nginxem. Dotyka tego mój blok usługodawcy internetowego na porcie 80. Teraz próbuję mieć serwer nginx na serwerze, wysyłając żądanie na porcie 8000 do wirtualnego hosta na porcie 80, aby strona wyświetlała się jako mysite.com po wczytaniu niż mysite.com: 8000.

Próbowałem to zrobić z dyrektywą nginx proxy_pass, ale bez względu na to, co robię, strona zawsze wyświetla się jako mysite.com: 8000.

Oto co mam do tej pory:

server { 
    listen [::]:8000 

    server_name mysite.com; 

    location/{ 
    proxy_pass http://127.0.0.1:80; 
    proxy_redirect default; 
    proxy_set_header Host    $http_host; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto http; 
    } 
} 

server { 
    listen 127.0.0.1:80; 

    server_name mysite.com; 

    root /var/www/homepage; 
    index index.html; 

    . 
    . (non-relevant stuff) 
    . 
} 

Link do faktycznego miejsca: http://www.bjacobel.com

Próbowałem też zrobić to przez port forwarding 8000 na routerze na port 80, a po nginx nasłuchuje na porcie 80, ale wciąż wyświetla się adres URL z: 8000 w nim.

Dzięki za pomoc!

Odpowiedz

3

korzenia problem nie jest z konfiguracji, ale z pierwszym internecie przodu - działa poprzez przekierowanie żądany adres URL (http://www.yoursite.com) do nowego adresu URL (http://yoursite.com:8000)

Tak to już jest na swoim miejscu, gdy osiągnie żądania konfiguracji, i nie można go zmienić z powrotem na port 80, jak zapewnisz r blokuje to.

Możesz użyć zestawu ramek jako forwardera ("Web 0.5") lub z nim żyć.

2

Słowo ostrzeżenia, hostowanie publicznych serwerów sieciowych w domowym łączu jest zwykle niezgodne z Warunkami świadczenia usług przez dostawcę usług internetowych.

Przeglądarka zawsze wyświetli 8080, ponieważ połączenie HTTP musi zostać zainicjowane na porcie 8080, aby uzyskać dostęp do witryny. Wystarczy pomyśleć o kwestiach bezpieczeństwa, jeśli możesz "ukryć" część adresu URL.

Jedynym rozwiązaniem jest gospodarzem serwera proxy lub oprawione strony internetowej na serwerze, które mogą być dostępne na porcie 80. Ponadto, istnieją usługi przekierowania, które mogą przekierować portu 80 do 8080.

Powiązane problemy