Đang code PHP và muốn tự động phát hiện xem link chạy đang là http hay https thì làm thế nào? Kiểm tra biến $_SERVER
$_SERVER["SERVER_PORT"] = 80 thì là http, 443 thì là https => sai nhé. Nếu chạy qua HA, proxy thì check thế này ko đúng URL trên trình duyệt https nhưng SERVER_PORT vẫn chỉ là 80
Dùng REQUEST_SCHEME xem http hay https => cũng éo đúng khi server chạy qua proxy
Qua proxy thì phải check HTTP_X_FORWARDED_PROTO, nó là https thì là đang dùng link HTTPS, còn giá trị khác thì là HTTP
Không qua proxy thì SERVER_PORT là 443 thì là HTTPS
Vậy tóm lại là éo biết có chạy hay ko chạy qua proxy thì code thế nào để lấy đúng link http/https đang chạy trên trình duyệt
Check lần lượt theo thứ tự
HTTP_X_FORWARDED_PROTO = https
SERVER_PORT = 443
thì là https, còn lại là http