Nginx SSL + Basic Auth 保护内网大数据 Web 管理界面
在大数据平台开发环境中,像 Flink Web UI、Airflow、还有 Superset 这样的组件通常提供开放且弱管控的 HTTP 访问入口。这在公有云或者跨区域组网的架构中是非常危险的,容易成为挖矿程序的提权后门。
本文分享了一种利用 Nginx 的代理结合 Let's Encrypt SSL,并挂载 auth_basic Http 用户强校验的防护封堵手段。
1. 准备 Basic Auth 验证文件
首先我们需要在服务器上利用 htpasswd 工具生成账户名和密码记录档。
1 | # 生成 .htpasswd 文件并添加一个基础账户 |
2. 撰写 Nginx 代理配置文件
通常这批大数据的界面服务是跑在多端口(如 Flink 的 8081、Airflow 的 8080 等)。我们可以撰写不同模块的代理配置文件。通过拦截 443(HTTPS)并强加认证,最后以 proxy_pass 转入目标服务的原生内网端口。
以下为示例配置 Flink Web Manager 代理:
1 | # /etc/nginx/conf.d/flink-web.conf |
同理,我们在处理类似 Airflow 的 8080 组件上或者 Metadata 等管理页也都可以用此模板套用。
总结: 仅对外网或者跨机房暴露基于 Nginx 的 HTTPS 端口,所有底层的 Web Manger (Airflow/Flink) 端口在安全组和系统层被切断,只能本地环回访问,由 Nginx 的 Basic Auth 全权镇守,是非常轻量和牢靠的大数据安全管控手法!
- Title: Nginx SSL + Basic Auth 保护内网大数据 Web 管理界面
- Author: Ordiy
- Created at : 2026-02-28 14:15:00
- Updated at : 2026-03-02 04:17:17
- Link: https://ordiy.github.io/posts/2026-02-28-nginx-ssl-basic-auth-bigdata/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments