Bài đăng

Đang hiển thị bài đăng từ Tháng 2, 2016

[Notes] CloudFlare SSL Proxy và PHP Website.

Trường hợp tôi đang gặp phải: Client → CloudFlare (Flexible SSL, Static Caching) → Nginx (php-fpm) Một số yêu cầu tôi đã xử lý: [+] Chuyển các truy cập HTTP sang HTTPS Sau khi CloudFlare nhận được HTTP Request từ Client sẽ thêm các Headers sau trước khi Forward vào Nginx Cf-Visitor : { "scheme": "http"} X-Forwarded-Proto: http [+] Có thể sử dụng một trong 2 headers này dùng làm patern để redirect, ví dụ: if ($http_cf_visitor ~ '{"scheme":"http"}') { return 301 https://$server_name$request_uri; } Hoặc if ($http_x_forwarded_proto = "http") { return 301 https://$server_name$request_uri; } [+] CloudFlare Caching và Redirect Loop khi chuyển request sang HTTPS Khi sử dụng phương pháp Redirect sang HTTPS, nếu Static Caching của CloudFlare đang được mở thì mặc định ta sẽ gặp trường hợp như sau (ví dụ đối với các tập tin image, js, css): - Client gửi HTTPS đến /image_abc.jpeg : Truy cập