我正在使用以下配置:
server {
listen 80;
server_name 192.168.1.10;
location /shutter {
proxy_pass http://192.168.1.10:8989;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
我正在使用的应用程序叫做 shutter lite:http://www.den4b.com/?x=products&product=shutter
当我进入
http://192.168.1.10:8989
它将我带到“登录”屏幕,然后是应用程序的网络界面,这样就可以了。
但当我进入
http://192.168.1.10/shutter
我进入了应用程序的“登录”屏幕。登录后,系统会立即将我带到 nginx 欢迎屏幕,而不是应用程序的 Web 界面。
上述配置适用于其他应用程序,只有快门应用程序才会出现这个问题。
我不知道我哪里错了。
有什么建议么?
答案1
从您提供的少量信息来看,可能需要添加
proxy_redirect / /shutter;
因此,如果应用程序创建重定向,nginx 可以将其替换为您正在使用的子文件夹。
此外(正如我的评论所述),应用程序可能混合使用绝对路径和相对路径。那么您需要将其替换为sub_filter
模块。
sub_filter_types text/xml text/html;
sub_filter 'http://localhost:8989/' '/';
sub_filter_once off;