Saya mencoba menerapkan SSL Fleksibel yang disediakan oleh CloudFlare ke situs saya.
Ini konfigurasi nginx saya:
# 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...)
Namun, ketika saya mencoba untuk terhubung ke situs web (Wordpress), saya mendapatkan redirect loop (chrome: ERR_TOO_MANY_REDIRECTS). Bagaimana cara mengkonfigurasi nginx untuk mencegah hal ini?
sumber
Ini dapat memperbaiki masalah jika Anda memiliki sertifikat SSL yang valid di. Kotak [Crypto] dan pilih
Full (strict)
seperti pada gambar.Benar-benar tidak perlu memperbarui file konfigurasi server web untuk Nginx.
sumber
Jawaban AD7six sangat baik, meskipun tampaknya ada solusi yang lebih sederhana yang tidak memerlukan aturan halaman. Saya tidak yakin apakah ini merupakan tambahan baru sejak jawaban sebelumnya, tetapi harus didokumentasikan pada pertanyaan ini, terutama mengingat Anda hanya mendapatkan 3 aturan halaman gratis dengan Cloudflare pada saat penulisan.
Ketika Anda telah mengaktifkan SSL Fleksibel untuk domain tertentu, Anda dapat menggulir ke bawah pada
Crypto
tab dan mengaktifkanAlways use HTTPS
opsi. Opsi ini akan menyelesaikan masalah redirect loop (dijelaskan secara menyeluruh dalam jawaban AD7six ).Opsi ini dikonfirmasi bekerja dengan nginx; lebih jauh lagi, seharusnya tidak ada pengaturan server di mana opsi ini tidak berfungsi, asalkan SSL Fleksibel sudah diaktifkan dan berfungsi tanpa masalah.
sumber