Я пытаюсь внедрить гибкий SSL, предоставляемый CloudFlare, на мой сайт.
Вот мой конфиг nginx:
# PHP-FPM upstream; change it accordingly to your local config!
upstream php-fpm {
server 127.0.0.1:9000;
}
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
server {
## Listen ports
listen 443;
# use _ if you want to accept everything, or replace _ with domain
server_name example.com www.example.com;
location / {
#proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X_FORWARDED_PROTO https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Url-Scheme $scheme;
proxy_redirect off;
proxy_max_temp_file_size 0;
}
(...rest of config...)
Однако, когда я пытаюсь подключиться к веб-сайту (Wordpress), я получаю цикл перенаправления (chrome: ERR_TOO_MANY_REDIRECTS). Как мне настроить nginx, чтобы предотвратить это?
источник
Это может решить проблему, если у вас есть действующий сертификат SSL. Поле [Crypto] и выберите
Full (strict)
как на изображении.На самом деле нет необходимости обновлять файл конфигурации веб-сервера для Nginx.
источник
Ответ AD7six очень хороший, хотя кажется, что есть более простое решение, которое не требует правил страницы. Я не уверен, является ли это новым дополнением со времени предыдущих ответов, но это определенно должно быть задокументировано по этому вопросу, особенно учитывая, что на момент написания вы получили только 3 бесплатных правила для страниц с Cloudflare.
Если у вас включен протокол Flexible SSL для данного домена, вы можете прокрутить
Crypto
вкладку вниз и включить этуAlways use HTTPS
опцию. Эта опция легко решит проблему с циклом перенаправления (подробно объяснено в ответе AD7six ).Эта опция подтверждена работой с nginx; кроме того, не должно быть никаких настроек сервера, где эта опция не работает, при условии, что Flexible SSL уже включен и работает без проблем.
источник