我正在尝试做的事情:
我有一台 QNAP NAS,我正尝试通过 docker 设置我的 NGINX,以便能够在家庭服务器上添加多个服务。我现在尝试做的是设置 NGINX,以便当我调用
https://<MY_DOMAIN>:<MY_PORT>/nas
将所有呼叫重定向至http://192.168.0.98:8085这是我的 QNAP 的本地 IP 和本地端口。
问题:
现在发生的情况是,不是将所有呼叫从 重定向https://<MY_DOMAIN>:<MY_PORT>/nas
到 ,http://192.168.0.98:8085
而是从 重定向https://<MY_DOMAIN>:<MY_PORT>/nas
到https://<MY_DOMAIN>:<MY_PORT>
,然后我会收到一个404 not found
错误https://<MY_DOMAIN>:<MY_PORT>
目前正在使用的配置,但只能/
代替/nas/
location / {
proxy_pass http://192.168.0.98:8085/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
问题:
目前,当我尝试添加/nas/
部分时,这是行不通的,我总是会被重定向到https://<MY_DOMAIN>:<MY_PORT>/nas
,https://<MY_DOMAIN>:<MY_PORT>
然后我会得到一个404 not found
错误https://<MY_DOMAIN>:<MY_PORT>
我尝试过不同类型的组合,但没有一种有效。
location ~ ^/nas(/.*)$ {
proxy_pass http://192.168.0.98:8085$1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
location ^~ /nas/ {
rewrite ^/nas(/.*)$ $1 break;
proxy_pass http://192.168.0.98:8085;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
location /nas {
proxy_pass http://192.168.0.98:8085;
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_redirect off;
proxy_intercept_errors on;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
location ^~ /nas {
rewrite ^/nas(/.*)$ $1 break;
proxy_pass http://192.168.0.98:8085;
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_redirect off;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
location /nas/ {
proxy_pass http://192.168.0.98:8085/;
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_redirect off;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
location /nas/ {
proxy_pass http://192.168.0.98:8085;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}