Je veux rediriger tout mon trafic http
pour rediriger vers https
. J'utilise letsencrypt
. J'ai lu en ligne que return 301 https://$server_name$request_uri;
redirigerait tout le trafic vers mon site Web à https
mais à la place il en résulte ERR_TOO_MANY_REDIRECTS
.ERR_TOO_MANY_REDIRECTS avec nginx
Tout fonctionne correctement sans l'instruction de mention ci-dessus, mais je dois spécifier spécifiquement https
dans l'URL. Voici mon fichier /etc/nginx/sites-available/default
:
server {
listen 80 default_server;
listen 443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/mywebsite.me/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mywebsite.me/privkey.pem;
root /home/website/mywebsite/public;
index index.html index.htm index.php;
server_name mywebsite.me www.mywebsite.me;
return 301 https://$server_name$request_uri;
location/{
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
}
}
Où est-ce que je vais mal?
mettre http et https dans un des blocs distincts comme indiqué dans la première solution. Cela a fonctionné pour moi. –
@PritamBohra ne peut pas fonctionner. Comme vous le voyez, j'ai besoin de proxy au même nom de serveur avec un autre port. Ma config fonctionne bien quand l'application derrière sans SSL forcé. Quand 'http: 4000' fonctionne, 'https:' fonctionne bien, sinon quand 'http: 4000' se redirige vers 'https:', alors la configuration ne peut pas fonctionner. C'est un problème populaire dans l'application Meteor que j'ai vu dans beaucoup de discussions. Peut-être que j'ai besoin de configurer l'application météore pour utiliser ssl, pas seulement le nginx. – sitexa