O teste nginx reescreve http para https com número de porta

O teste nginx reescreve http para https com número de porta

Estou recebendo uma solicitação incorreta de 400.

Este é o código de configuração. arquivo: staging.rewrites

if ($scheme = http) {
   return 301 https://$host:[port]$request_uri;
}

Alguém sabe se esta é uma reescrita válida?

Responder1

Não sei onde está seu arquivo de configuração, mas prefiro usar as seguintes linhas em sua porta 80 para reescrever solicitações para a porta 443:

server {
    listen 80;

    server_name YOURSERVER_DOMAIN;

    access_log /var/log/nginx/access.http.log detailed;
    error_log /var/log/nginx/error.http.log notice;

    location / {
        rewrite ^ https://$host$request_uri? permanent;
    }
}

Cumprimentos

Responder2

Esta é a maneira preferida de fazer o redirecionamento http -> https no nginx:

server {
    server_name example.com;

    return 301 https://www.example.com$request_uri;
}

informação relacionada