rewriterule redirecting redireccionar not configurar nginx https http-redirect

redirecting - redirect http request to https nginx



nginx redirige HTTPS a HTTP (3)

¿Cómo puedo redireccionar de https a http?

Tengo el código a continuación, pero parece que no funciona.

server { listen 443; server_name example.com; rewrite ^(.*) http://example.com$1 permanent; }


La respuesta anterior funcionará, necesita generar un certificado autofirmado (o tener uno real) y configurar nginx como tal:

server { listen *:443; ssl on; server_name domain.com; rewrite ^(.*) http://domain.com$1 permanent; ssl_certificate /data/certs/domain.crt; ssl_certificate_key /data/certs/domain.key; }

Tenga en cuenta que, si se trata de un certificado autofirmado, el navegador le dará una advertencia desagradable.


Partiendo del comentario de jberger, una configuración que debería funcionar sería:

server { listen *:80; server_name example.com; } server { listen *:443 ssl; server_name example.com; ssl_certificate /etc/ssl/certs/example.com.cert; ssl_certificate_key /etc/ssl/private/example.com.key; return 301 http://$server_name$request_uri; }


if ($host = ''foo.com'') { rewrite ^/(.*)$ http://www.foo.com$1 permanent; }