- Вопрос или проблема
- Ответ или решение
- Ошибка "Сервер не найден" при использовании приложения Mattermost на десктопе
- 1. Проверка настройки DNS
- 2. Проверка конфигурации Apache
- 3. Настройка прокси для WebSocket и API
- 4. Проверка брандмауэра и портов
- 5. Актуальность приложений Mattermost
- 6. Тестирование соединения
- Заключение
Вопрос или проблема
После установки 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 или исследуйте форумы, где обсуждаются аналогичные проблемы.