@Mr_Sinister

Как в Nginx сделать редирект с HTTP на HTTPS?

Пытаюсь сделать редирект с HTTP на HTTPS. Собственно код конфига:
server {
        listen  80;
        listen  443 ssl;

        ssl     on;
        ssl_certificate /home/certificate.pem;
        ssl_certificate_key     /home/key.pem;

        server_name     vk4.me;
        access_log      /var/log/nginx/nginx.vhost.access.log;
        error_log       /var/log/nginx/nginx.vhost.error.log;

        if ($scheme = "http"){
                rewrite ^/(.*)$ https://$host/$1 permanent;
        }

        location / {
                proxy_pass      http://127.0.0.1:8081;
                include /etc/nginx/proxy.conf;
        }
}

proxy.conf
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;


Когда захожу на сайт под любым из протоколов вылетает ошибка
Сайт sitename выполнил переадресацию слишком много раз.
  • Вопрос задан
  • 903 просмотра
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Не мешайте HTTP и HTTPS в одном блоке, ничего хорошего из этого не получится.
server {
    listen      80;
    server_name website.com;
    return      301 https://$server_name$request_uri;
}
Ответ написан
Preemiere
@Preemiere
Symfony developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы