Nginx的。索引目录被禁止

问题描述 投票:1回答:1

我用以下nginx配置负载平衡nginx服务器192.168.2.168:

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 Forbiden的东西

192.168.2.165上的tailf /var/log/error.log显示:

*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;

我做错了什么以及如何使上游服务器工作?

nginx load-balancing
1个回答
0
投票

使用server_name balancer.home解决了这个问题;而不是server_name 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:在上游服务器上,应指定与余额服务器(域名)上相同的server_name。

© www.soinside.com 2019 - 2024. All rights reserved.