nginx - 如何代理将目录列表的请求传递到另一台服务器(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
}
推荐阅读
- list - Erlang Lists:展平嵌套列表
- boost - cmake, boost locale 和一个静态库
- android - 我正在使用 Firebase 实时数据库。我想在 Firebase 上列出升序
- javascript - 任何人都可以在不破坏按钮工作的情况下修复此向下载按钮添加样式
- python - OpenCV实时相机图像不动
- typescript - 是否可以有一个使用索引(类型或对象)的通用约束?
- android-studio - 安装新的 parse sdk 时 Android Studio 抛出错误
- node.js - 在下面的代码中使用 Express GET 方法和 HTTPS GET 方法有什么区别?
- c# - 我的 ListView 不会从 ObservableCollection 中读取项目
由普通列表制成 - php - 为什么 PHP 假定会话已启动时未启动?