2013-03-16 4 views
6

Я пытаюсь создать простой статический веб-сайт, и у меня проблема с nginx, которая усложняется рядом вещей, особенно в том, что мой интернет-провайдер блокирует весь входящий трафик порта 80.Nginx скрыть номер порта переадресации

Во-первых, у меня есть веб-сайт, настроенный так, чтобы www.mysite.com перенаправлялся на mysite.com:8000, а затем я настраивал свой маршрутизатор для перенаправления порта 8000 на мой сервер с nginx. Это касается блока моего провайдера на порту 80. Теперь я пытаюсь сделать nginx на сервере прокси-сервером запрос на порт 8000 на виртуальный хост на порту 80, так что сайт будет отображаться как mysite.com после того, как он загрузит чем mysite.com:8000.

Я пытаюсь сделать это с помощью директивы nginx proxy_pass, но независимо от того, что я делаю, сайт всегда отображается как mysite.com:8000.

Вот что я до сих пор:

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) 
    . 
} 

Ссылка на реальный сайт: http://www.bjacobel.com

Я также попытался сделать это, направив порт 8000 на маршрутизаторе к порту 80, и имеющий nginx прослушивает порт 80, но URL-адрес с: 8000 в нем по-прежнему отображается.

Благодарим за помощь!

ответ

3

в корне проблема не вашей установки, но с первым веб вперед - это работает, перенаправляя требуемый URL (http://www.yoursite.com) к новому URL (http://yoursite.com:8000)

Так это уже на месте, когда запрос достигает вашей установки, и вы не можете изменить его на порт 80, поскольку r блокирует его.

Вы можете использовать набор фреймов в качестве форвардера («Web 0.5») или жить с ним.

2

Слово предупреждения, размещающее общедоступные веб-серверы в жилом соединении, обычно противоречит Условиям обслуживания интернет-провайдеров.

Браузер всегда будет показывать 8080, поскольку для доступа к вашему сайту на порту 8080 необходимо инициировать HTTP-соединение. Просто подумайте о проблемах безопасности, если вы можете «скрыть» часть URL-адреса.

Единственное способом решения проблемы является для размещения прокси-сервера или обрамленного сайта на сервере, на котором можно получить доступ на порт 80. Кроме того, есть Перенаправление услуги, которые могли бы перенаправить порт 80 8080.

Смежные вопросы