我有一个位置/nginx_status
,并且昨晚安装了 SSL 证书。
server {
listen 443;
...
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
当它仍在端口 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;
}
我正在使用 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>
如何告诉 nginx 绕过 SSL 并允许 /nginx_status仅限本地?
答案1
为此添加一个仅在本地主机上监听的特殊服务器。
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;
}
}