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

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

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

Заметки:

  • 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 на рабочем столе после его установки на сервере Ubuntu с использованием Apache и SSL-сертификатов. Давайте проанализируем возможные причины данной ошибки и предложим пути их решения.

Возможные причины

  1. Неверная конфигурация Apache:

    • Проверьте правильность настроек виртуального хоста. Убедитесь, что параметры ServerName соответствуют вашему домену. Возможно, в конфигурации у вас указано неверное имя, что и приводит к ошибке.
    • Убедитесь, что виртуальные хосты настроены на прослушивание порта 443 для HTTPS и 80 для HTTP. Проверьте, что модули mod_ssl и mod_proxy активированы.
  2. Проблемы с SSL-сертификатами:

    • Убедитесь, что SSL-сертификаты корректно установлены и действуют. Для проверки можно использовать команду sudo certbot renew --dry-run для тестирования продления сертификатов.
    • Проверьте пути к файлам сертификатов, указанные в конфигурации Apache. Убедитесь, что файлы по указанным путям существуют.
  3. Проблемы с DNS:

    • Настройте DNS-записи для mattermost.domain.com и других используемых поддоменов. Убедитесь, что они правильно указывают на ваш сервер.
    • Используйте команду dig или nslookup для проверки разрешения домена.
  4. Сетевые проблемы:

    • Проверьте, что ваш сервер доступен из сети. Убедитесь в отсутствии блокировок на уровне фаервола или маршрутизатора.
    • Убедитесь, что порты 80 и 443 открыты для входящих соединений. Это можно сделать с помощью ufw или других средств управления фаерволом.
  5. Проблемы с клиентским приложением:

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

Рекомендуемые шаги по решению проблемы

  1. Проверка конфигурации Apache:
    • Откройте файл конфигурации Apache для редактирования.
    • Убедитесь, что ваш виртуальный хост для mattermost.domain.com корректно настроен. Ваша конфигурация должна содержать четкие указания для проксирования, используя ProxyPass и ProxyPassReverse.

Пример отредактированной конфигурации:

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName mattermost.domain.com
    ServerAdmin [email protected]
    ProxyPreserveHost On
    RewriteEngine On

    <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
    </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>

    SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
  1. Перезапуск Apache:
    После внесения изменений перезапустите Apache командой:
sudo systemctl restart apache2
  1. Тестирование URL-адресов:
    Проверьте доступность вашего Mattermost-сервера через браузер, используя https://mattermost.domain.com. Убедитесь, что он работает без ошибок.

  2. Проверка журнала ошибок Apache:
    Обратитесь к журналу ошибок Apache для поиска возможных причин сбоя. Журнал ошибок можно найти по пути, указанному в переменной ${APACHE_LOG_DIR}.

Заключение

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

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

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