Конфигурация страницы статуса nginx

В качестве теста я включил страницу состояния 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, но если используется URL-адрес /status, он активирует страницу состояния nginx?

1 ответ

Вам нужно сделать что-то вроде ниже

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

Другие вопросы по тегам