В конечном счете, это зависит от вашей настройки.
В первом примере вы проверяете протокол на основе заголовка X-Forwarded-Proto
.Как видите, это устанавливается прокси-сервером или балансировщиком нагрузки, расположенным перед вашим сервером, поэтому, если у вас его нет, этот заголовок может быть пустым, даже если клиент установил безопасное соединение, и вы все равно выполняетеперенаправление.
Вторая - это переменная, устанавливаемая непосредственно веб-сервером в зависимости от того, какое соединение оно получило, но зависит от mod_ssl
, поэтому может недоступен.
Последний проверяет порт, дополнительная информация об используемом протоколе отсутствует, вам нужно выяснить, работает ли Apache с нестандартными портами.