β

遇到的一个用于 LVS 检查的 Nginx ssl 配置的大坑

nosa.me 331 阅读

参照 我之前遇到的  ,这次的坑 更大了一点,导致贵司最重要的数个域名挂了 6 min,真是令人伤心啊。

看下面的用于 LVS 检查的配置:

server {
    listen 80 default_server;
    listen 443 ssl default_server;

    # Do not delete it, otherwise lvs http check will fail, it’s terrible!!!
    location /http_check/index.html {
        root /home/work/nginx/conf/;
        open_file_cache off;
    }

    location /nginx_status {
        stub_status on;
        access_log off;
        allow 10.0.0.0/8;
        deny all;
    }
}

坑的主角是 linsten 443 后面的 ssl,如果不加 ssl ,而且 在 Nginx 其他的配置里 没有 linsten 443 ssl 的话,那么 LVS 检查就会失败,报 400,而且 Nginx 日志显示类似的乱码:

10.0.19.34 – – [05/Feb/2015:00:01:05 +0800] “\x16\x03\x01\x01\x02\x01\x00\x00\xFE\x03\x03T\xD2BA\xC2\x03G\xCB\xF1M\xCE\xD5\
xB5\xF0 \xB8e\x0F\x1Cwh\x06%,\xDB\xFD\xD7\x0C\xE9\xD8\xBB\xCA\x00\x00\x94\xC00\xC0,\xC0(\xC0$\xC0\x14\xC0″ 400 588 “-” “-”

今天我「走运了」,修改配置 恰巧引发的了 LVS SSL 检查的 400 ,根据 上面的链接中的解释,如果 LVS 检查某个 VIP 的后端的某个端口全部失败时,会删除 这个 VIP ,这个 VIP 上面的其他端口 也就没了。所以今天才导致数个重要域名无法访问,真是罪过啊 。

作者:nosa.me
未来不会有sa
原文地址:遇到的一个用于 LVS 检查的 Nginx ssl 配置的大坑, 感谢原作者分享。

发表评论