Веб-сайт с SSL, работающий на Ubuntu с Apache, который обслуживает Mattermost, выдает ошибку “Сервер не найден” после использования приложения Mattermost на компьютере.

Вопрос или проблема

После установки Ubuntu Mattermost приложение выдает ошибку “адрес не найден” вскоре после использования приложения Mattermost на рабочем столе.

Примечания:

  • SSL установлен для sub.domain.com и domain.com.
  • Когда приложение используется в течение короткого времени, иногда обе доменные зоны, иногда только mattermost.domain.com выдают эту ошибку.
  • SSL сертификаты установлены с помощью certbot (letsencrypt).

файлы конфигурации:

<VirtualHost *:80>
    ServerName mattermost.domain.com
    ServerAdmin [email protected]
    ProxyPreserveHost On

    <Proxy *>
        Order allow,deny
        Allow from all
    </Proxy>

    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/api/v3/users/websocket [NC,OR]
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
    RewriteRule .* wss://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f

    RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]

    <Location /api/v3/users/websocket>
        Require all granted
        ProxyPass ws://127.0.0.1:8065/api/v3/users/websocket
        ProxyPassReverse ws://127.0.0.1:8065/api/v3/users/websocket
        ProxyPassReverseCookieDomain 127.0.0.1 mattermost.domain.com
    </Location>

    <Location />
        Require all granted
        ProxyPass http://127.0.0.1:8065/
        ProxyPassReverse http://127.0.0.1:8065/
        ProxyPassReverseCookieDomain 127.0.0.1 mattermost.domain.com
    </Location>

    RewriteCond %{SERVER_NAME} =www.mattermost.domain.com [OR]
    RewriteCond %{SERVER_NAME} =mattermost.domain.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:80>
    ServerName domain.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =domain.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName mattermost.perendi.com
  ServerAdmin [email protected]
  ProxyPreserveHost On
  RewriteEngine On
  RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC]
  RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
  RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
  RewriteRule .* ws://127.0.0.1:8065%{REQUEST_URI} [P,QSA,L]
  <Location />
    Require all granted
    ProxyPass http://127.0.0.1:8065/
    ProxyPassReverse http://127.0.0.1:8065/
    ProxyPassReverseCookieDomain 127.0.0.1 mattermost.perendi.com
  </Location>


SSLCertificateFile /etc/letsencrypt/live/afardita.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/afardita.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>


<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerName perendi.com
        ServerAdmin [email protected]
        DocumentRoot /var/www/perendi
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined


        SSLCertificateFile /etc/letsencrypt/live/afardita.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/afardita.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

Я попытался установить сервер Mattermost на сервер Apache. “https” внезапно не работает.

Ответ или решение

Ошибка "Сервер не найден" при использовании приложения Mattermost на десктопе

При установке и настройке Mattermost на сервере с операционной системой Ubuntu и веб-сервером Apache, пользователи могут столкнуться с ошибкой "Сервер не найден", особенно при попытке подключиться через мобильное или десктопное приложение Mattermost. Рассмотрим основные причины возникновения этой проблемы и способы их решения.

1. Проверка настройки DNS

Первое, что необходимо сделать – убедиться, что DNS-записи для mattermost.domain.com и domain.com корректно настроены. Для этого выполните следующие шаги:

  • Проверьте запись A: Убедитесь, что поддомен mattermost.domain.com указывает на IP-адрес вашего сервера. Воспользуйтесь командой:

    nslookup mattermost.domain.com
  • Проверьте TTL: Возможно, изменения DNS ещё не вошли в силу из-за кэширования. Подождите определённое время (обычно от нескольких минут до 24 часов).

2. Проверка конфигурации Apache

Ваша конфигурация виртуальных хостов выглядит в целом корректной, однако есть ряд моментов, которые стоит проверить:

  • Проверка разметки VirtualHost: Убедитесь, что настройка для HTTPS (порт 443) прописана правильно и соответствует требованиям Mattermost. Обратите внимание на отсутствие конфликта между mattermost.domain.com и domain.com.

  • Проверка SSL: Убедитесь, что SSL-сертификаты корректно установлены и действительны. Выполните такие команды:

    sudo certbot certificates
  • Просмотр журналов: Ознакомьтесь с логами Apache для выявления возможных ошибок:

    cat /var/log/apache2/error.log

3. Настройка прокси для WebSocket и API

Настройки прокси для Mattermost предполагают совместимость с WebSocket-соединениями, которые могут обрывать соединение:

  • Настройки WebSocket: Убедитесь, что правила ProxyPass для WebSocket прописаны правильно. Строки:

    RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC]

    Должны быть правильно отформатированы и работать в пределах вашего VirtualHost.

4. Проверка брандмауэра и портов

Также необходимо убедиться, что порты 80 и 443 открыты и доступны для внешнего трафика. Используйте команды:

sudo ufw allow 'Apache Full'
sudo ufw status

5. Актуальность приложений Mattermost

Иногда, приложение Mattermost на десктопе может кэшировать старые данные. Проверьте следующее:

  • Очистка кэша приложения.
  • Обновление приложения Mattermost до последней версии.

6. Тестирование соединения

  • Тестирование через браузер: Попробуйте зайти на https://mattermost.domain.com через браузер. Если страница загружается, проблема, скорее всего, на стороне приложения.

  • Тестирование из другого окружения: Проверьте доступность Mattermost из разных сетей, чтобы исключить проблемы с локальным маршрутизатором или провайдером.

Заключение

Ошибки "Сервер не найден" могут быть вызваны различными факторами, включая неправильные настройки DNS, конфигурацию Apache и проблемы с сетью. Пройдите по всем указанным шагам, чтобы выявить и устранить проблему. Пользуйтесь актуальными версиями программного обеспечения и следите за состоянием вашего сервера. Если ни один из подходов не помог, рассмотрите возможность обращения к технической поддержке Mattermost или исследуйте форумы, где обсуждаются аналогичные проблемы.

Оцените материал
Добавить комментарий

Капча загружается...