Я думаю, что официальная документация Rocket.Chat достаточно ясна:
Запуск за обратным прокси-сервером Apache SSLЗапустите это как root:
apt-get update apt-get install apache2 a2enmod proxy_http a2enmod proxy a2enmod ssl a2enmod proxy_wstunnel a2enmod rewrite
Добавьте свой закрытый ключ к
/etc/ssl/private/chat.domain.com.key
Блокировка разрешений:
chmod 400 /etc/ssl/private/chat.domain.com.key
Добавьте свой сертификат в
/etc/ssl/certs/chat.domain.com.crt
Добавьте ваше промежуточное к
/etc/ssl/certs/intermediate.ca.pem
Отредактируйте
/etc/apache2/sites-enabled/rocketchat.conf
и убедитесь, что вы используете свое действительное имя хоста вместо примера имени хоста «your_hostname.com» ниже.<VirtualHost *:443> ServerAdmin it@domain.com ServerName chat.domain.com ErrorLog /var/log/chat.domain.com_error.log TransferLog /var/log/chat.domain.com_access.log LogLevel info SSLEngine On SSLCertificateFile /etc/ssl/certs/chat.domain.com.crt SSLCertificateKeyFile /etc/ssl/private/chat.domain.com.key SSLCertificateChainFile /etc/ssl/certs/intermediate.ca.pem <Location /> Order allow,deny Allow from all </Location> RewriteEngine On RewriteCond % =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond % !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost>
Перезапустите Apache:
service apache2 restart
Когда это говорит
не забудьте использовать свое действительное имя хоста вместо примера имени хоста «your_hostname.com»
это вероятно означает
не забудьте использовать свой фактический внешний адрес https (например,
https://www.example.com
) вместоhttp://localhost:3000