我已经使用 Snap 在 Ubuntu 16.04 上安装了 Awsome Rocket.Chat,但是我不知道如何将服务器从在 http://DOMAIN:3000上运行更改为简单的http://DOMAIN ..
谢谢
我已经使用 Snap 在 Ubuntu 16.04 上安装了 Awsome Rocket.Chat,但是我不知道如何将服务器从在 http://DOMAIN:3000上运行更改为简单的http://DOMAIN ..
谢谢
目前 Rocket.Chat 快照没有更改其侦听端口的选项。在不久的将来,我们将添加对此的支持,以及添加 ssl。
但是现在我们的建议是在 snap 之前使用像 nginx 这样的反向代理。
如果您决定使用 nginx,您可以执行以下操作:
安装 nginx:sudo apt install nginx
然后/etc/nginx/sites-enabled/default
使用您喜欢的编辑器进行编辑
并将以下内容放入其中:
# Upstreams
upstream backend {
server 127.0.0.1:3000;
}
# HTTPS Server
server {
listen 443;
server_name your-domain.com;
error_log /var/log/nginx/rocketchat.access.log;
ssl on;
ssl_certificate /etc/nginx/certificate.crt;
ssl_certificate_key /etc/nginx/certificate.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE
location / {
proxy_pass http://backend/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
替换your-domain.com
为您的域。
保存后重启nginx:sudo services nginx restart
您可以在 iptables 中定义规则
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
然后通过此命令保存规则
sudo apt-get install iptables-persistent
这种方法对我有用。
root@sathish:/snap/rocketchat-server/580/bin# sudo snap run rocketchat-server.initcaddy
Replace /var/snap/rocketchat-server/580/Caddyfile with your own to customize reverse proxy
编辑文件
/var/snap/rocketchat-server/580/Caddyfile
将 :8080 替换为 :80
http://yourdomain:80
proxy / localhost:3000 {
websocket
transparent
}
重启服务
sudo systemctl restart snap.rocketchat-server.rocketchat-caddy
检查端口以确认
netstat -plnatu | grep :80
该文件指出:
从 0.73 版开始,可以像这样通过 snap hook 配置这些环境变量:
sudo snap set rocketchat-server port=<another-port>
sudo snap set rocketchat-server mongo-url=mongodb://<your-url>:<your-port>/<your-db-name>
sudo snap set rocketchat-server mongo-oplog-url=mongodb://<your-url>:<your-port>/local
请记住在设置新值后重新启动 Rocket.chat 服务:
sudo systemctl restart snap.rocketchat-server.rocketchat-server.service