Как прокси и перенаправить входящие HTTP-запросы

1039
Rudziankoŭ

Мой сервер имеет публичное имя хоста my_machine.my_company.org:8080. Я хотел бы перенаправить все входящие http-запросы на localhost: 8080.

Как мне это сделать? Я использую Ubuntu 15.10.

Почему я это делаю? Потому что у меня есть сертификат SSO для localhost:8080, но не для публичного имени хоста.

1
utfg http://tldp.org/HOWTO/TransparentProxy.html, https://www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html, Ipor Sircer 7 лет назад 0

1 ответ на вопрос

2
cascer1

В этом руководстве объясняется, как настроить NGINX в качестве обратного прокси-сервера для Jenkins, хотя вы можете оставить часть Jenkins и в конечном итоге получить обратный прокси-сервер.

Это сводится к установке NGINX, а затем добавлению следующего для сайта, который вы хотите прокси:

server {  listen 80; server_name my_machine.my_company.org;   access_log /var/log/nginx/my_machine.access.log;  location / {  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-Forwarded-Proto $scheme;  # Fix the “It appears that your reverse proxy set up is broken" error. proxy_pass http://localhost:8080; proxy_read_timeout 90;  proxy_redirect http://localhost:8080 http://my_machine.my_company.org:8080; } } 

РЕДАКТИРОВАТЬ : Если все, что вы хотите сделать, это перенаправить запросы, вы можете использовать следующие настройки вместо этого. Это сломает людей, посещающих сайт с другой машины.

server { listen 80; return 301 http://my_machine.my_company.org$request_uri; } 
Спасибо за ответ, я не могу запустить tomcat после этого, который должен работать на `locolhost: 8080`, кажется, порт уже используется. и я нажимаю код ошибки `502` при переходе на http://my_machine.my_company.org:8080 Rudziankoŭ 7 лет назад 0
Попробуйте изменить строку `listen 8080` на` listen 80`, чтобы вы могли перейти на my_machine.my_company.org:80 (или без порта, так как 80 по умолчанию) и увидеть тот же контент, который вы видите на localhost : 8080 на вашем собственном компьютере. cascer1 7 лет назад 0
Спасибо, с вашей помощью я сделал то, что предполагал, но это не помогло. Мой следующий вопрос здесь http://stackoverflow.com/questions/40682237/expose-server-with-sso-certificate-for-localhost Rudziankoŭ 7 лет назад 0

Похожие вопросы