Nginx.Указатель индекса запрещен - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть сервер балансировки нагрузки nginx 192.168.2.168 со следующей конфигурацией nginx:

upstream balancer {
server 192.168.2.165;
server 192.168.2.166 backup;
}
server {
listen 80;
server_name 192.168.2.168;
error_log /var/log/nginx/balancer-error_log;

location /something {
proxy_pass http://balancer;
}
}

Затем я пытаюсь 192.168.2.168/ что-то, что это дает 403 Запретить

tailf /var/log/error.log на 192.168.2.165 показывает:

*47 directory index of "/usr/share/nginx/html/glpi/" is forbidden, client: 192.168.2.168, server: localhost, request: "GET /glpi/ HTTP/1.0", host: "balancer"

Но если я заменю http://balancer на http://192.168.2.165, то все будет работать нормально.

proxy_pass http://192.168.2.165;

Что я делаю не так и как заставить работать серверы upsream?

1 Ответ

0 голосов
/ 28 сентября 2018

Проблема решена с помощью имя_сервера balancer.home; вместо имя_сервера 192.168.2.168; + Я добавил несколько заголовков.

Вот мой конфиг:

upstream backend {
server 192.168.2.165;
server 192.168.2.166;
server 192.168.2.167 backup;
}

server {
    listen 80;
    server_name balancer.home;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name balancer.home;

    ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

    error_log /var/log/nginx/balancer-error_log;
    access_log /var/log/nginx/balancer-access_log;

    location / {
            proxy_pass_header   Server;
            proxy_set_header    Host $host;
            proxy_set_header    X-Real-IP $remote_addr;
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    X-Forwarded-Proto $scheme;

    proxy_pass http://backend;
}
}

PS: На вышестоящих серверах должно быть указано то же имя сервера, что и на балансовом сервере (доменное имя).

...