我有一个用于内部服务的通配符证书。我想在 ALB 后面运行 Security Onion,这样我就可以使用存储在证书管理器中的单个证书获得有效的 SSL。(将其存储在那里更安全,也更易于维护和可靠性)
问题似乎出在 Security Onion 配置文件 /opt/so/saltstack/local/pillar/global.sls
url_base: # IP or FQDN
是否可以配置为通过 IP 地址监听(此时登录重定向指向 IP,且已验证的 SSL 中断)或通过 FQDN 监听(此时它不会通过 IP 回答请求,且目标组健康检查失败)。
我无意中通过从 IP 切换到 FQDN 让它工作了。但我怀疑它是在 2 分钟的宽限期内工作的,当时健康检查仍为绿色,但服务器是通过 FQDN 工作的。
在幕后,Security Onion 使用 nginx 执行主机到 docker 路由。nginx 配置文件位于此处 /opt/so/saltstack/default/salt/nginx/etc/nginx.conf
以前有人做过这个吗?
答案1
我可以通过在 nginx 配置中插入一个简单的健康检查来实现这一点。
server {
listen 443 ssl http2;
server_name 192.168.1.something;
location /health {
access_log off;
add_header 'Content-Type' 'text/plain';
return 200 "healthy\n";
}
}
这种方法有两个局限性。
- 我在配置中对 IP 地址进行了硬编码,如果我的主机移动或从快照重新实例化,这将会中断。(可以通过让 nginx 推断本地 IP 来解决这个问题吗?)
- 健康检查验证 nginx 是否正在运行,但不能验证其背后的 SO 是否健康。