0

作为测试,我根据这些文章启用了 nginx 状态页面

server {
    listen 80;

    #listen on any host name
    server_name _;

    location /status {
        stub_status on;
        access_log off;
    }

    access_log  /var/log/nginx/$host-access.log;
    error_log   /var/log/nginx/monitor-error.log;
}

我通常运行一个 wordpress 站点,并将任何 http 请求重定向到 https 请求:

server {
   server_name _;
   listen 80;

   return 301 https://$host$request_uri;
}

我有几个 https 服务器块,每个 dns 都有一个,它有自己的服务器证书。

有没有办法把上面的两个服务器块结合起来,这样通常一个http请求会重定向到https,但是如果使用/status url,它会激活nginx状态页面?

4

1 回答 1

0

您需要执行以下操作

server {
   server_name _;
   listen 80;
    location = /status {
        stub_status on;
        access_log off;
    }

    location / {
       return 301 https://$host$request_uri;
    } 
    access_log  /var/log/nginx/$host-access.log;
    error_log   /var/log/nginx/monitor-error.log;

}

所以在/status没有重定向的情况下会发生。在其他情况下,它只会执行 https 重定向

于 2017-11-07T22:27:54.677 回答