На днях внезапно обнаружил, что с домашнего компа мой сайт https://wenda.rip стал выдавать ответ 403.

Помыкавшись и не добившись результата с .htaccess, написал в поддержку reg.ru, но там сейчас завал (на Хабре писали что у всех по какой-то причине, но я забыл). Проверил доступ на работе - все нормально. Подумал, что наверное где-то закешировалось. Почистил кэш, все равно норм.
Зашел дома с телефончика через WiFi - ответ 403. Отключил WiFi, зашел через Мегафон - страница открылась! Что за на ???
Полез проверять через сервисы, например https://dostupno.net

Source Response Time HTTP Code Status
mobileMoscow Megafon 1 0.85 sec 200 OK
mobileMoscow Megafon 2 0.66 sec 403 OK
mobileMoscow Megafon 3 0.85 sec 200 OK
Moscow Kornet  0.65 sec 200 OK
Moscow Link  0.64 sec 403 OK
Moscow Rostelecom 1 0.59 sec 200 OK
St. Petersburg, Point 1 0.64 sec 200 OK
St. Petersburg, Point 3 1.34 sec 200 OK
St. Petersburg, Point 4 1.31 sec 200 OK
St. Petersburg, Point 5 0.87 sec 403 OK

Ах, удивительное дело!
Причем другой сайт, на том же хостинге, например ... ну неважно.. открывается нормально.
Что бы это могло быть?

Комментарии (8)


  1. hssergey
    11.08.2026 04:31

    А заголовки web-сервера совпадают в случае 200 и 403? Предполагаете, что 403 отдает "железный занавес", а не реальный сервер? Так это по идее невозможно, бо там HTTPS. Возможно, проблема именно в хостинге.


    1. diakin Автор
      11.08.2026 04:31

      А заголовки web-сервера совпадают в случае 200 и 403?

      Я в этом не разбираюсь.( Как это узнать?

      Непонятно почему

      St. Petersburg, Point 4 1.31 sec 200 OK

      St. Petersburg, Point 5 0.87 sec 403 OK

      Где собака-то порылась?


      1. Number571
        11.08.2026 04:31

        Если HTTP без TLS, то провайдер может самостоятельно подменять ответы. В эпоху динозавров, когда ещё HTTPS не был массовым, провайдеры так рекламу на сайтах добавляли. Вопрос конечно остаётся открытым в том плане, для чего им это вообще понадобилось...


  1. yellowmew
    11.08.2026 04:31

    Ну для начала я бы проверил access логи вебсервера, ваш ли nginx этот 403 отдает или что-то вмешалось раньше. В зависимости от результата - разные направления расследования "кто виноват и что делать" будут.


  1. Borelli
    11.08.2026 04:31

    C:\>nslookup wenda.rip 1.1.1.1
    Сервер:  one.one.one.one
    Address:  1.1.1.1
    
    Не заслуживающий доверия ответ:
    Имя:     wenda.rip
    Addresses:  2a00:f940:2:2:1:1:0:307
              31.31.197.92

    У Вас на сайте два IP-адреса. Если обращаться к IPv6 - 403 по 80 и 443 порту из моего провайдера:

    Скрытый текст
    C:\>curl --resolve wenda.rip:80:2a00:f940:2:2:1:1:0:307 -6 -v http://wenda.rip
    * Added wenda.rip:80:2a00:f940:2:2:1:1:0:307 to DNS cache
    * Hostname wenda.rip was found in DNS cache
    *   Trying [2a00:f940:2:2:1:1:0:307]:80...
    * connect to 2a00:f940:2:2:1:1:0:307 port 80 from :: port 9864 failed: Network unreachable
    * Failed to connect to wenda.rip port 80 after 3 ms: Could not connect to server
    * closing connection #0
    curl: (7) Failed to connect to wenda.rip port 80 after 3 ms: Could not connect to server
    
    C:\>curl --resolve wenda.rip:443:2a00:f940:2:2:1:1:0:307 -v https://wenda.rip
    * Added wenda.rip:443:2a00:f940:2:2:1:1:0:307 to DNS cache
    * Hostname wenda.rip was found in DNS cache
    *   Trying [2a00:f940:2:2:1:1:0:307]:443...
    * connect to 2a00:f940:2:2:1:1:0:307 port 443 from :: port 9582 failed: Network unreachable
    * Failed to connect to wenda.rip port 443 after 6 ms: Could not connect to server
    * closing connection #0
    curl: (7) Failed to connect to wenda.rip port 443 after 6 ms: Could not connect to server
    
    C:\>curl --resolve wenda.rip:443:31.31.197.92 -v https://wenda.rip
    * Added wenda.rip:443:31.31.197.92 to DNS cache
    * Hostname wenda.rip was found in DNS cache
    *   Trying 31.31.197.92:443...
    * schannel: disabled automatic use of client certificate
    * ALPN: curl offers http/1.1
    * ALPN: server accepted http/1.1
    * Connected to wenda.rip (31.31.197.92) port 443
    * using HTTP/1.x
    > GET / HTTP/1.1
    > Host: wenda.rip
    > User-Agent: curl/8.13.0
    > Accept: */*
    >
    * Request completely sent off
    < HTTP/1.1 200 OK
    < Server: nginx
    < Date: Tue, 11 Aug 2026 22:26:22 GMT
    < Content-Type: text/html
    < Content-Length: 11287
    < Connection: keep-alive
    < Vary: Accept-Encoding
    < Last-Modified: Sun, 01 Feb 2026 18:02:55 GMT
    < ETag: "2c17-649c70409cf4f"
    < Accept-Ranges: bytes
    <
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <meta http-equiv="Content-Language" content="en-us">

    Один из тестов в интернетах написал вердикт "Not reachable via modern internet address, or improvement possible (IPv6)", что означает, что очень современные браузеры могут не добраться до сайта. Но мне кажется, просто опущена конфигурация для IPv6 или ещё что-то упущено.


  1. diakin Автор
    11.08.2026 04:31

    Все таки дело оказалось в .htaccess. Я проверял .htaccess, которые были в папке /www/public_html/wenda.rip/ , там все было нормально. А в папке /www/public_html/ лежал .htaccess в котором была запись

    deny from 94.0.0.0/8

    А мой IP начинался с 94.142... Поэтому доступ с этого адреса оказывался запрещен.

    [Tue Aug 11 10:59:42.451214 2026] [access_compat:error] [pid 2049371:tid 140164257814272] [client 94.142.ХХ.ХХХ:0] AH01797: client denied by server configuration: 

    А в папке с доменом, где все было нормально имелся .htaccess с записью

    Deny from ip 94.130.

    И видимо она перекрывала запись deny from 94.0.0.0/8.
    По крайней мере если закомментировать #Deny from ip 94.130., то доступ опять пропадает.

    Ну слава б$гу, что ничего глобального, прошу прощения за беспокойство.


    1. Borelli
      11.08.2026 04:31

      Перечитал документацию (надеюсь, у вас Apache версии 2.4):

      Объединение разделов конфигурации

      При использовании любой директивы, предоставляемой этим модулем, в новом разделе конфигурации, директивы, предоставляемые этим модулем, не наследуются от предыдущих разделов конфигурации.

      Таким образом, действительно, директива из подпапки перекрывает всё что настроено в папке выше для Deny.


  1. yamifa_1234
    11.08.2026 04:31

    403 означает: «Мы вас знаем (или нам не важно, кто вы), но вам сюда категорически нельзя».

    ИИ (с)