如何解决如何代理将目录列表请求传递给另一台服务器Nginx
我有两台服务器(两台不同的机器):
backend.website.com
www.website.com
某些静态文件托管在名为 /audiofiles
的目录中,这些文件需要在 www.website.com/audiofiles
处访问,但存储在机器上 backend.website.com
。是的,这是一个复杂的要求,但在我们的情况下就是这种情况,无法更改。
我在下面的回答是我们是如何做到这一点的。
解决方法
这是让我们完成此操作的配置:
backend.website.com:
server {
listen 80;
server_name backend.website.com;
root /var/www/backend/;
index index.html index.htm index.php;
location ^~ /audiofiles/ {
alias /some/other/folder/audiofiles/;
autoindex on;
break;
}
# ... other stuff
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name website.com www.website.com;
location /audiofiles/ {
proxy_pass https://backend.website.com;
proxy_redirect /audiofiles/ https://www.website.com/audiofiles/;
proxy_set_header Host $proxy_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-Host $server_name;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-Proto https;
}
# ... other stuff
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。