gpt4 book ai didi

http - 阻止在反向代理模式下通过 http 端口访问 rocket.chat

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:56 25 4
gpt4 key购买 nike

我在 CentOS 7.6 上安装了 rocket.chat 版本 0.72.3 作为私有(private)本地团队聊天。

然后为了配置反向代理以强制 rocket.chat 使用 SSL 协议(protocol),我安装了 nginx 版本 1.12.2 并点击此链接 https://rocket.chat/docs/developer-guides/mobile-apps/supporting-ssl/nginx 配置为反向代理。

配置成功后,我有两个url都指向我的rocket.chat应用(http://localhost:3000https://localhost:443)。我的意思是 rocket.chat 可以在这两个链接下访问,其中 http 访问是多余的。

如何通过 http://localhost:3000 禁用对 rocket.chat 的访问?

最佳答案

您需要 1) 仅将 rocketchat 服务绑定(bind)到本地主机接口(interface),以及 2) 让 nginx 监听公共(public)接口(interface)并充当代理(您可能已经这样做了)。

因此,首先打开您的 rocketchat.service 文件(可能在 /lib/systemd/system/rocketchat.service 中,但这取决于您如何配置 rocketchat 服务) 并在 [Service] 部分添加此行:

[Service]
Environment=BIND_IP=127.0.0.1

不要担心您已经有一个(或一些)Environment 条目,这些条目是聚合的(对我来说,每个变量都有一个 Environment 条目)。

然后打开你的 nginx 配置(可能是 /etc/nginx/sites-enabled/default,但这可能不同)并确保 server block 只监听端口 443 并执行其代理工作。我的 nginx 相关条目如下所示:

# Upstreams
upstream backend {
server 127.0.0.1:3000;
}

server {
listen 443;
server_name mydomain.com;
error_log /var/log/nginx/rocketchat.access.log;

ssl on;
ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

location / {
proxy_pass http://127.0.0.1:3000/;
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;
}
}

您可能需要重新加载/重新启动 nginx 和 rocketchat 服务并重新加载配置发布

$ sudo systemctl daemon-reload

命令。

对我来说它完美无缺。

关于http - 阻止在反向代理模式下通过 http 端口访问 rocket.chat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54198563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com