Evita que o Nginx remova o número da porta

1

Bem, estou muito confuso. Eu tenho um servidor web executando nginx dentro de uma máquina virtual. Estou encaminhando a porta 8082 da máquina host para a porta 80 na máquina virtual. De fato, ir para exampledomain.dev:8082 funciona como esperado mostrando a página da Web.

O problema acontece quando eu digito uma url como esta exampledomain.dev:8082/subdirectory

O navegador me redireciona para exampledomain.dev/subdirectory sem o número da porta, então nada funciona. Mas se eu adicionar uma barra invertida no URL como esta exampledomain.dev:8082/subdirectory/ , ela funcionará corretamente.

A minha pergunta é, como posso apontar exampledomain.dev:8082/subdirectory e exampledomain.dev:8082/subdirectory/ para o mesmo lugar e como evito que o nginx remova o número da porta?

Se for importante, esta é minha configuração nginx real dentro da máquina virtual:

server {
    listen 80;
    server_name exampledomain.dev;
    root /srv/www/exampledomain;
    index index.php;
    rewrite ^([^.]*[^/])$ $1/ permanent;

    location /subdirectory {
        try_files $uri $uri/ /subdirectory/index.php?$args;
    }
}
    
por David Ossa Hernandez 27.09.2013 / 19:58

1 resposta

1

A correção mais simples é alterar sua reescrita para

rewrite ^([^.]*[^/])$ http://exampledomain.dev:8082/$1/ permanent;
    
por 27.09.2013 / 21:35