Что делать в случае, если у меня нет доступа к интернет-сайтам в локальной сети?

После настройки SSL у меня возникла проблема: сайт перестал открываться внутри локальной сети, в то время как извне он работает нормально. При попытке доступа из локальной сети появляется ошибка "connection refused". 

При использовании команды curl я получаю следующий вывод: 
<pre><code>curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number</code></pre>

Я не уверен, где искать логи, чтобы выяснить причины возникшей проблемы. Можете подсказать, как лучше диагностировать эту ситуацию?
  • 1 октября 2024 г. 7:34
Ответы на вопрос 2
Для диагностики проблемы с доступом к вашему сайту внутри локальной сети после настройки SSL, следуйте этим шагам:

### 1. Проверьте настройки брандмауэра
Убедитесь, что ваш брандмауэр не блокирует подключения к серверу. Проверьте, открыты ли нужные порты (обычно 80 для HTTP и 443 для HTTPS).

### 2. Проверьте конфигурацию веб-сервера
Убедитесь, что ваш веб-сервер (например, Apache, Nginx и т. д.) правильно настроен для работы с SSL. Убедитесь, что блоки конфигурации для виртуальных хостов настроены правильно, и что сертификаты SSL указаны верно.

### 3. Проверьте, на каком IP-адресе слушает сервер
Убедитесь, что ваш веб-сервер слушает на правильном IP-адресе. Если веб-сервер настроен только слушать на 127.0.0.1 (localhost), с локальных машин не получится к нему подключиться. Проверьте конфиг (например, `listen` в Nginx или `Listen` в Apache).

### 4. Проверьте логи веб-сервера
Логи веб-сервера могут содержать полезную информацию о причинах ошибки. Обычно они находятся в следующих местах:
- Для Apache: `/var/log/apache2/error.log` или `/var/log/httpd/error_log`
- Для Nginx: `/var/log/nginx/error.log`

Посмотрите сообщения в этих логах, возможно, там будет указана причина проблемы.

### 5. Проверьте сертификат SSL
Убедитесь, что ваш SSL сертификат установлен и настроен правильно. Вы можете использовать команду:
```bash
openssl s_client -connect [ваш_домен]:443
```
Это покажет детали сертификата и возможные ошибки.

### 6. Проверьте настройки DNS
Если ваш сайт работает по доменному имени, убедитесь, что DNS записи для локальных машин настроены правильно. Иногда необходимо добавлять записи в файл `/etc/hosts` (или аналогичный в Windows).

### 7. Отключите SSL для тестирования
Если вы хотите убедиться, что проблема в SSL, попробуйте временно отключить HTTPS (используя только HTTP) и проверьте доступность сайта. Это может помочь убедиться, что проблема именно в SSL.

### 8. Проверьте использование Proxy-серверов
Если вы используете прокси-серверы внутри локальной сети, убедитесь, что они правильно настроены и не блокируют трафик.

### 9. Обновите curl и OpenSSL
Убедитесь, что версии curl и OpenSSL, используемые в вашей системе, актуальны. Устаревшие версии могут приводить к ошибкам совместимости.

### 10. Попробуйте другие инструменты
Попробуйте использовать другие средства для диагностики, например:
- `telnet [ваш_домен] 443` (для проверки доступности порта)
- `nmap -p 443 [ваш_домен]` (для проверки открытых портов)

Следуя этим шагам, вы сможете диагностировать и, возможно, решить проблему с доступом к вашему сайту внутри локальной сети.
Недавно была похожая проблема, оказалось, что у серверного блока в nginx не был включен http2. 
nginx.org/en/docs/http/ngx_http_v2_module.html#http2

Ошибки, разумеется, надо смотреть в error-логах nginx, по умолчанию они в /var/log/nginx .
Похожие вопросы