达到 nginx 状态时绕过本地主机上的 SSL

Dav*_*Fox 3 ubuntu monitoring nginx ubuntu-12.10

我有一个位置/nginx_status,我昨晚安装了一个 SSL 证书。

server {
    listen 443;
    ...
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}
Run Code Online (Sandbox Code Playgroud)

当它仍然在端口 80 上时,这是在进行证书前安装。现在,我已经进行了重定向以将 www.domain.tld 和 domain.tld 流量重定向到 https,例如

server {
        listen 80;
        server_name domain.tld;
        return 301 https://domain.tld$request_uri;
}

server {
        listen 80;
        server_name www.domain.tld;
        return 301 https://domain.tld$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 graphdat-relay 来监视 nginx 统计信息,现在curl http://127.0.0.1/nginx_status 只获取重定向页面,例如

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.6.2</center>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我如何告诉 nginx 绕过 SSL 并仅在本地允许 /nginx_status ?

Chr*_*rin 9

为此添加一个仅侦听本地主机的特殊服务器。

server {
    listen 127.0.0.1:80;
    listen [::1]:80;
    ...
    location /nginx_status {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}
Run Code Online (Sandbox Code Playgroud)