我想通过NGINX反向代理我的NodeJS后端,但我不断收到403 Forbidden Error,由NGINX记录为
[error] 10#10: *1 directory index of "/usr/share/nginx/html/" is forbidden,
client: 172.20.0.1, server: localhost, request: "GET / HTTP/1.1",
host: "localhost:8888
我对服务器块的配置:
server {
charset utf8;
listen 80 default_server;
location / {
proxy_pass http://localhost:5000;
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_cache_valid 200 1s;
}
location /assets/ {
expires 30d;
add_header Cache-Control "public";
root /usr/share/nginx/html/;
try_files $uri =404;
}
}
在做了一些研究后,似乎它可能与NGINX identifying /
as a query for a directory listing有关,并且很可能要求我添加index index.html
来解决问题(它没有)。对于反向代理,我的配置也匹配that presented by the official NGINX configurations。
有没有人知道如何解决这个问题?
任何帮助将不胜感激! 干杯:)
答案 0 :(得分:1)
它使用的服务器localhost
是另一个server
阻止。
您问题中的server
块是默认服务器,但另一个块具有明确的server_name localhost
语句,该语句优先。
您应该删除其他服务器块,以便只有一个服务器块,它将始终使用。
问题文件位于/etc/nginx/conf.d/default.conf
。
this document中解释了server
块的选择。