umercomp

Рейтинг
28
Регистрация
09.04.2015

Андрей Самушенков, вот что интересует для определения протокола:

[HTTP_X_FORWARDED_PROTO] => https


---------- Добавлено 23.03.2017 в 14:45 ----------

Кстати, а директива
RewriteEngine on
в htaccess присутствует?

Андрей Самушенков, создайте любой php файл, потом обратитесь к нему. Он выведет весь массив $_SERVER

Андрей Самушенков, если хостер так отвечает, то однозначно - да.

Дело в том, что фронтендом стоит nginx, с которого проксируюися запросы на бекенд, которы работает без ssl протокола. для того, чтобы бекенд понимал, по какому протоколу нужно работать, фронтенд должен передавать какую-то переменную или заголовок, которую можно найти в $_SERVER. При этом обозвать ее они могут на свой вкус (это неправильный подход, но возможность никто не отменял). В общем, поможет вывод массива SERVER и поиск по тексту https.

<?php
print_r ($_SERVER);
?>

P.S. Все распространенные CMS умеют определять, по какому протоколу работает сайт. У Вас же любая ссылка с https страницы ведет на http протокол.

Sitealert, что-то я задумался на ровном месте. Все правильно, бекенд работает не по https, вот и не происходит редиректа.

Как-то так надо:

RewriteCond %{HTTPS} on
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Вообще, с хостером надо решать, что они там передают для идентификации протокола

Sitealert, работает, только ssl отрабатывает раньше, на стадии подключения. То есть, сначала надо будет согласиться с принятием левого сертификата, и только потом отработает htaccess.

Андрей Самушенков, htaccess Вам не поможет, так как ssl отрабатывает раньше. Даже если хостер поставит заглушку по дефолту, при запросе Вашего сайта по https будут передаваться сигнатуры заглушки, которые тоже к Вашему домену отношения не имеют. Вам нужно либо ставить сертификат, либо переходить на сервер, где 443 порт вообще закрыт.

Stek, речь-то не о доступе. Просто имеет смысл исследовать код, которому для работы даже не VDS, а целый сервер понадобился. Вполне может оказаться, что там код такой кривой.

suffix:
Забанил два десятка IP где-то -- посмотрим что получится

71155388 заблокированных IP

У Вас же сервер. Блокировать можно не только входящие. Но лучше найти и закрыть дыру раз и навсегда.

Sah:
я ноль в том, что такое обработчик php


rewrite ^/([A-Za-z0-9_/\-]+)\.html /$1.php?$args;
fastcgi_pass unix:/var/run/php5-mysite.sock;

Типа того

Всего: 170