¿Cómo puedo redireccionar desde https a http?nginx redirigir HTTPS a HTTP
tengo el siguiente código pero parece que no funciona.
server {
listen 443;
server_name example.com;
rewrite ^(.*) http://example.com$1 permanent;
}
¿Cómo puedo redireccionar desde https a http?nginx redirigir HTTPS a HTTP
tengo el siguiente código pero parece que no funciona.
server {
listen 443;
server_name example.com;
rewrite ^(.*) http://example.com$1 permanent;
}
if ($host = 'foo.com') {
rewrite ^/(.*)$ http://www.foo.com$1 permanent;
}
nginx [Pitfalls] (http://wiki.nginx.org/Pitfalls#Server_Name) y [IfIsEvil] (http://wiki.nginx.org/IfIsEvil). Este código probablemente debería refactorizarse en dos bloques separte 'server', uno que capture http y otro que capture https y luego' devuelve 301 http: // $ server_name $ request_uri; '. –
La respuesta anterior funcionará, es necesario generar un certificado autofirmado (o tener uno de verdad) 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, si se es un certificado autofirmado, el navegador le dará una advertencia desagradable.
¿No es posible tener esta redirección sin la fea advertencia, sin comprar un certificado que no usaremos? ¡Gracias! – dgilperez
Puede obtener un certificado SSL gratuito de startssl, que eliminaría las advertencias. Los certificados autofirmados siempre lanzarán las advertencias de las que está hablando. –
También puede reemplazar '' reescribir^(. *) Http: //domain.com$1 permanent; '' con '' rewrite^(. *) Http: // $ host $ 1 permanent; '' si tiene varios servidores nombres especificados – ub3rst4r
Construido a partir del comentario jberger una configuración que debe 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;
}
¿podría aceptar la respuesta? – brupm