Como alterar a porta de um redirecionamento recebido pelo nginx?

1

Eu configurei um nginx no meu servidor. Ele recebe todas as solicitações e as passa para um servidor IIS por trás dele. Meu problema é que desde que o meu site está rodando na porta 2000, às vezes ele envia redirecionamentos para o nginx que contém a porta 2000 e após esse redirecionamento os usuários não passarão pelo nginx. Eu quero reescrever uma regra no meu nginx para obter todos os redirecionamentos e definir a porta para 80, assim os usuários não vão diretamente para o IIS. Eu também posso consertar isso alterando o código c #, mas não quero fazer alterações no código.

    
por Iman Mohamadi 02.11.2016 / 06:16

2 respostas

0

Não tenho certeza se entendi, mas vou tentar.

Pelo que entendi, você tem A executando NGINX ouvindo: 80 (talvez: 443) e A ou B (não sei se o IIS está sendo executado na mesma máquina, embora eu acredite não, já que os usuários parecem estar capaz de alcançá-lo diretamente) executando IIS ouvindo: 20000.

Se A estiver executando ambos, você está sem sorte, não é possível conectar o NGINX e o IIS à mesma porta para que você não possa fazer isso através do NGINX. No entanto, você pode usar o seu firewall para ter solicitações feitas para: 20000 que não vêm do host local para serem passadas para: 80. Isso também funciona no segundo caso, se você quiser seguir esse caminho.

Se A estiver executando o NGINX enquanto o B estiver executando o IIS, você sempre pode configurar para dizer ao NGINX para escutar: 20000 e passá-lo para o IIS.

Em qualquer caso, se o IIS não for acessado por outros meios além do NGINX, você deve ter uma regra de firewall que impeça o acesso a ela de fora.

    
por 02.11.2016 / 07:52
0

Coloque isso na sua configuração do nginx:

port_in_redirect off;

link

    
por 02.11.2016 / 15:34