Вопрос или проблема
После установки 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-сертификатов. Давайте проанализируем возможные причины данной ошибки и предложим пути их решения.
Возможные причины
-
Неверная конфигурация Apache:
- Проверьте правильность настроек виртуального хоста. Убедитесь, что параметры
ServerName
соответствуют вашему домену. Возможно, в конфигурации у вас указано неверное имя, что и приводит к ошибке. - Убедитесь, что виртуальные хосты настроены на прослушивание порта 443 для HTTPS и 80 для HTTP. Проверьте, что модули
mod_ssl
иmod_proxy
активированы.
- Проверьте правильность настроек виртуального хоста. Убедитесь, что параметры
-
Проблемы с SSL-сертификатами:
- Убедитесь, что SSL-сертификаты корректно установлены и действуют. Для проверки можно использовать команду
sudo certbot renew --dry-run
для тестирования продления сертификатов. - Проверьте пути к файлам сертификатов, указанные в конфигурации Apache. Убедитесь, что файлы по указанным путям существуют.
- Убедитесь, что SSL-сертификаты корректно установлены и действуют. Для проверки можно использовать команду
-
Проблемы с DNS:
- Настройте DNS-записи для
mattermost.domain.com
и других используемых поддоменов. Убедитесь, что они правильно указывают на ваш сервер. - Используйте команду
dig
илиnslookup
для проверки разрешения домена.
- Настройте DNS-записи для
-
Сетевые проблемы:
- Проверьте, что ваш сервер доступен из сети. Убедитесь в отсутствии блокировок на уровне фаервола или маршрутизатора.
- Убедитесь, что порты 80 и 443 открыты для входящих соединений. Это можно сделать с помощью
ufw
или других средств управления фаерволом.
-
Проблемы с клиентским приложением:
- Попробуйте удалить кэш и данные приложения Mattermost на рабочем столе. Иногда проблемы могут возникать из-за устаревших данных.
- Убедитесь, что версия приложения Mattermost на вашем рабочем столе соответствует версии сервера.
Рекомендуемые шаги по решению проблемы
- Проверка конфигурации 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>
- Перезапуск Apache:
После внесения изменений перезапустите Apache командой:
sudo systemctl restart apache2
-
Тестирование URL-адресов:
Проверьте доступность вашего Mattermost-сервера через браузер, используяhttps://mattermost.domain.com
. Убедитесь, что он работает без ошибок. -
Проверка журнала ошибок Apache:
Обратитесь к журналу ошибок Apache для поиска возможных причин сбоя. Журнал ошибок можно найти по пути, указанному в переменной${APACHE_LOG_DIR}
.
Заключение
После выполнения вышеупомянутых шагов, ваша проблема с ошибкой "Сервер не найден" при использовании приложения Mattermost должна быть разрешена. Если же проблема сохраняется, следует глубже исследовать возможные сетевые проблемы или обратиться за поддержкой в сообщество Mattermost или к вашему хостинг-провайдеру.