Просмотр Исходного

{toc}

h1. В чём проблема

С 25.05.2017 нескольким нашим клиентам ревизор прислал отчёты в которых фигурировали пропуски, имеющие кое-что общее:
# В URL HTTP запроса состоящего из домена конце стояла точка (например [http://blocked.domain.com/].)
# В URL внутри реестра такой точки не было.
# Эти запросы были отфильтрованы по DNS.
# Сервер страницы заглушки ответил на них HTTP 301 редиректом на [http://blocked.domain.com/./]
# Этот ответ был распознан ревизором как пропуск

Решение для nginx - готово, как его применить - описано ниже.

Мы уже выпустили обновления для этой проблемы, но настоятельно рекомендуем на всякий случай перепроверить:

h1. Как проверить что всё работает правильно

Пусть 10.50.140.73 - IP заглушки

{code}
telnet 10.50.140.73 80
GET /.
{code}
В ответ должны получить 200 с выводом страницы заглушки.

В противном случае придёт 301 редирект.

Пример:

{code}
$ telnet 10.50.140.73 80
Trying 10.50.140.73...
Connected to 10.50.140.73.
Escape character is '^]'.
GET /.
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.0.15</center>
</body>
</html>
{code}

К сожалению с помощью curl, wget, браузера проверить вряд ли получится, большинство из них обрезают такую точку в конце запроса на своей стороне ещё до его отправки.


h1. Решение проблемы

Если исправление по какой-либо причине не применилось, дальнейшие действия отличаются в зависимости от того, где расположена страница-заглушка:



h2. Для заглушки на Carbon Reductor 8

Ничего делать не надо, с помощью системы точечных хотфиксов, встроенной в Carbon Platform, всё уже исправлено.

Если сервер отдаёт 301 страницу - обратитесь в техническую поддержку.


h2. Для заглушки на Carbon Reductor 7

На сервере с Carbon Reductor применить hotfix от имени пользователя root:

{code}
curl -sS https://download5.carbonsoft.ru/reductor/nginx_hotfix.sh | bash
{code}
В случае если он применился успешно - вы получите сообщение:

{code}
2017-05-26 16:54:56 carbon.reductor gen_nginx_conf.sh[5176:5181]: Обновляем настройки веб-сервера
Перезагружается nginx: [ OK ]
New config successfully applied and works
Please, check that blocked sites open this blockpage
{code}

h2. Для заглушки на отдельном сервере


h3. Если всё максимально близко к стандарту и устанавливали с помощью этих скриптов:

[https://github.com/carbonsoft/reductor_blockpages]


то нужно обновить конфиг rkn:

{code}
cd /root/reductor_blockpages
git pull origin master
make rkn_config
serivce nginx reload
{code}
Либо вручную в

{code}
/etc/nginx/conf.d/rkn.conf
{code}
перед строкой

{code}
root /var/www
{code}
добавить строку:

{code}
try_files $uri /index.html;
{code}
и применить изменения:


{code}
/etc/init.d/nginx reload
{code}

h3. Если заглушка развёрнута своими силами

Скорее всего она не подходит для DNS-фильтрации и в некоторых случаях может приводить к распознанию ревизором её ответов как пропуска фильтрации.

Настоятельно рекомендуем использовать:

[https://github.com/carbonsoft/reductor_blockpages]


В скором времени мы подготовим сервер для страницы-заглушки на Carbon Platform с автоматическим обновлением итд.