nginx: redirecionando para SSL com base no URL de solicitação original (não $ server_name) [duplicado]

3

Eu tenho uma configuração nginx semelhante a esta:

server {
  server_name my-english-site.com my-french-site.com;

  listen 0.0.0.0:80;

  rewrite ^ https://$server_name$request_uri? permanent;
}

server {
  listen 0.0.0.0:443 ssl;
  server_name my-english-site.com my-french-site.com;
}

Quando alguém acessa o link , ele redireciona para link , porque a diretiva de reescrita usa o primeiro servidor na diretiva $server_name .

Eu tentei substituir $server_name por $host , esperando que ele usasse o valor do cabeçalho de solicitação Host . Mas ainda redireciona para o URL em inglês.

Como posso receber solicitações não HTTPS redirecionadas para os URLs HTTPS correspondentes?

Obrigado!

    
por TL-Eugene 27.10.2014 / 20:36

1 resposta

0

Aparentemente, usar a variável $host é a maneira de fazer isso (obrigado @gparent). Acabei de testar novamente e funciona.

    
por 27.10.2014 / 20:58

Tags