Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Исключить страницу из HTTPS


Recommended Posts

Сломал мозг, СПАСАЙТЕ!
Преамбула...

Некоторое время назад клиент подключил провайдера оплаты и работал с ним нормально некоторое время.
После этого был приобретен сертификат SSL и осуществлен переезд на HTTPS.
Здесь начались проблемы...
Для обновления статуса платежей используется callback с сервера оплаты на сайт магазина.
Но система приема платежей не поддерживает SNI на клиентской стороне и как результат - она видит сертификат хостера, а не магазина.
Из-за этого возникает конфликт и callback не срабатывает.

Переезжать на собственный VPS/VDS или менять провайдера платежей в ближайшее время клиент не собирается.
Поставлена задача решить проблему.
Как вариант - предложили для обратной связи поюзать обычный HTTP.
Но у меня не получается ОТКЛЮЧИТЬ перенаправление на HTTPS по адресу callback!

Дано:
Opencart 2.0.3.1.

В настройках включен SSL.
Установлен SEO Fix HTTPS 2.x.
Установлен SEOPro OCJ.
ЧПУ сейчас ОТКЛЮЧЕНО (не спрашивайте почему, не в этом сейчас вопрос)!
В config.php на фронте:

define('HTTP_SERVER', 'http://some_site.ru/');

define('HTTPS_SERVER', 'https://some_site.ru/');


Адрес нужной страницы, куда удаленный сервер оплаты должен отправить запрос с данными - some_site.ru/index.php?route=payment/my_module/callback
Для перенаправления всех страниц на HTTPS в .htaccess используется инструкция вида:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 
Попробовал добавить строку исключения:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !(.*)payment/my_module/callback(.*)$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Не спасает, все равно редирект срабатывает.

Закоментировал вообще все указанные выше строки, но редирект остался!
Причем на всех страницах!
ЧТНТД?
 
Змінено користувачем Wild
Надіслати
Поділитися на інших сайтах

1 час назад, Wild сказал:

Закоментировал вообще все указанные выше строки, но редирект остался!
Причем на всех страницах!
ЧТНТД?

Посмотрите, что у вас в сеофиксе настроено.

Надіслати
Поділитися на інших сайтах


Вдогонку...


Проблема РЕШЕНА!
Отца русской демократии спала такая конструкция в .htaccess:
 

Цитата

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !(.*)payment/my_module/callback(.*)$
RewriteCond %{QUERY_STRING} !(.*)payment/my_module/callback(.*)$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

Змінено користувачем Wild
Надіслати
Поділитися на інших сайтах

Попробуйте отключить в настройках сервера HSTS (это к хостеру)
https://ru.wikipedia.org/wiki/HSTS

  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо за инфу, не знал о HSTS.
Но проблема решена добавлением строк указанных выше.
Кстати именно хостер их и подсказал.

Хотя, может и HSTS он тоже отрубил.

Змінено користувачем Wild
Надіслати
Поділитися на інших сайтах

2 часа назад, Wild сказал:


Хотя, может и HSTS он тоже отрубил.

Скорее всего.
Потому что ваша проблема была бы решена в самом начале :)

Это "стандартное" правило исключения.
Но вот если включен HSTS (а сейчас у хостеров часто при включении SSL сертификата HSTS включается автоматически) - то оно работать не будет

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Понял, спасибо, буду знать.
Век живи - век учись! )))

P.S. Я так и думал, что на стороне хостера врубается SSL принудиловка, ибо инструкции в htaccess не срабатывали.

Змінено користувачем Wild
Надіслати
Поділитися на інших сайтах

У HSTS есть один маленький, но очень существенный нюанс - его отключение на сервере не отменяет его действия, именно в этом его суть.

То есть, если зайти на сайт с включённым HSTS, а затем выключить HSTS и попробовать зайти в том же браузере на этот сайт по http - браузер всё равно откроет https, потому что он уже запомнил, что здесь HSTS и запомнил он это на период указанный в параметре max-age заголовка HSTS.

Так что, если HSTS действительно был включён, вы бы даже после его отключения не смогли бы открыть ссылку на колбек по http, если используете тот же браузер.

В браузере, который ещё не знает, что здесь было HSTS никаких проблем с http не будет.

  • +1 1
Надіслати
Поділитися на інших сайтах


Сработало сразу скорее всего потому, что callback со стороны мерчанта - это запрос не из браузера в общеизвестном смысле.
Он вряд ли запоминает режимы, кукисы и т.п., а просто обращается по указанному адресу и читает ответ.
А браузер действительно запоминает.
Пришлось перед проверкой каждый раз закрывать режим "инкогнито" и открывать его снова, чтобы все заработало корректно.

Надіслати
Поділитися на інших сайтах

23 минуты назад, Wild сказал:

Через режим "инкогнито" убедился, что сработала именно строка с QUERY_STRING.

Вообще, ответ здесь: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

 

Цитата

REQUEST_URI

The path component of the requested URI, such as "/index.html". This notably excludes the query string which is available as its own variable named QUERY_STRING.

 

То есть, в случае mod_rewrite Апача REQUEST_URI не содержит параметров запроса в отличии от $_SERVER["REQUEST_URI"] в php.

  • +1 1
Надіслати
Поділитися на інших сайтах


  • 8 months later...
В 07.06.2017 в 05:45, Wild сказал:

Вдогонку...


Проблема РЕШЕНА!
Отца русской демократии спала такая конструкция в .htaccess:
 

 

я тоже столкунлся с такой проблемой, попробовал этот вариант, вроде что то шевельнулось, а точнее при входе на эту страницу у мен начала появляться такая функция в браузере, есть еще какие нибудь предложения? Чтобы он автоматически отключался

Снимок.JPG

Снимок2.JPG

Надіслати
Поділитися на інших сайтах


1 минуту назад, Legenda123 сказал:

кто нибудь поможет?

А как ?!
Мы не умеем гадать по скринам.
URL надо давать

Надіслати
Поділитися на інших сайтах

7 часов назад, Legenda123 сказал:

кто нибудь поможет?

У вас на странице есть контент, который грузится по http, поэтому браузер и пишет о незащищённых частях страницы.

Это могут быть, например, изображения вставленные через визуальный редактор или ссылки на скрипты/стили, которые прописаны прямо в шаблоне.

Надіслати
Поділитися на інших сайтах


В 13.02.2018 в 02:34, Dotrox сказал:

У вас на странице есть контент, который грузится по http, поэтому браузер и пишет о незащищённых частях страницы.

Это могут быть, например, изображения вставленные через визуальный редактор или ссылки на скрипты/стили, которые прописаны прямо в шаблоне.

Это не изображение, вообщем мне надо исключить с https страницу серфинга(букс) а он с https не работает, то есть когда просматриваешь сайт рекламодателя, белый экран

Надіслати
Поділитися на інших сайтах


8 часов назад, Legenda123 сказал:

надо исключить с https страницу серфинга(букс)

Если за редирект на https отвечает только правило в .htaccess, то достаточно добавить туда исключение с адресом этой страницы (пример есть выше в теме).

Если не помогает, значит либо неправильно добавляете исключение, либо не только в .htaccess дело (и тогда вспоминайте всё, что вы делали при переходе на https).

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.