如何阻止直接访问Opensearch Dashboards端口,强制流量走NGINX配置?
解决Opensearch Dashboards直接访问端口的问题
针对你遇到的用户可直接访问5601端口绕过NGINX的问题,提供两种可行方案:
方案一:彻底阻止外部直接访问5601端口
1. 通过防火墙限制端口访问
只允许服务器本地(NGINX进程)访问5601端口,外部请求直接拦截:
- 若使用iptables:
# 允许本地回环接口访问5601 iptables -A INPUT -i lo -p tcp --dport 5601 -j ACCEPT # 拒绝所有外部来源访问5601 iptables -A INPUT -p tcp --dport 5601 -j DROP
- 若使用ufw(Ubuntu/Debian系统常用):
ufw allow from 127.0.0.1 to any port 5601 ufw deny 5601
2. 修改Opensearch Dashboards监听地址
编辑Opensearch Dashboards的配置文件(一般为opensearch_dashboards.yml),将服务监听地址改为本地回环地址,这样外部无法直接连接该端口:
server.host: "127.0.0.1"
修改后重启Opensearch Dashboards服务即可生效,此时只有NGINX能通过本地代理访问5601端口。
方案二:将5601端口请求重定向到NGINX代理地址
如果希望直接访问5601的用户自动跳转到正规代理地址,可以在NGINX配置中新增一个监听5601端口的server块:
server { listen 5601 ssl; server_name myopensearchserver; ssl_certificate mycert.pem; ssl_certificate_key mycert.key; # 永久重定向到443端口的代理地址 return 301 https://myopensearchserver$request_uri; }
配置完成后重启NGINX,用户直接访问5601端口时会自动跳转到https://myopensearchserver。
内容的提问来源于stack exchange,提问作者jaboo
相关产品推荐
相关产品推荐

