Comment puis-je rediriger de https vers http?
j'ai le code ci-dessous mais cela ne semble pas fonctionner.
server {
listen 443;
server_name example.com;
rewrite ^(.*) http://example.com$1 permanent;
}
La réponse ci-dessus fonctionnera, vous devez générer un certificat auto-signé (ou en avoir un réel) et configurer nginx en tant que tel:
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;
}
Gardez à l'esprit que s'il s'agit d'un certificat auto-signé, le navigateur vous avertira de façon très déplorable.
En s'appuyant sur les commentaires de jberger, une configuration qui devrait fonctionner serait:
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;
}