Como fazer proxy e redirecionar solicitações HTTP recebidas

1

Meu servidor tem nome de host público my_machine.my_company.org:8080 . Gostaria de redirecionar todas as solicitações HTTP recebidas para o localhost: 8080.

Como posso fazer isso? Eu uso o ubuntu 15.10.

Por que estou fazendo isso? Porque tenho certificado de SSO para localhost:8080 , mas não para nome de host público.

    
por Rudziankoŭ 18.11.2016 / 14:30

1 resposta

2

este guia explica como configurar o NGINX como um proxy reverso para o Jenkins, embora você possa deixar de fora a parte do Jenkins e acabar com um proxy reverso de qualquer maneira.

Tudo se resume a instalar o NGINX e, em seguida, adicionar o seguinte para o site que você deseja usar como proxy:

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;
    }
  }

EDIT : Se tudo o que você deseja fazer é redirecionar solicitações, você poderia usar a seguinte configuração. Isso vai quebrar para as pessoas que visitam o site a partir de outra máquina, embora.

server {
   listen 80;
   return 301 http://my_machine.my_company.org$request_uri;
}
    
por 18.11.2016 / 14:59