这是我的反向代理配置。
server {
listen 8080;
access_log /var/log/nginx/server.access.log main;
root /usr/share/nginx/htdocs;
index index.html index.htm;
location /apps/ {
proxy_pass http://our-amazon-s3-bucket/apps/;
}
}
当我访问http://amazon-elb-fqdn/apps/,我可以正常看到网页了。
但是,当我以这种方式访问它时(请注意缺少尾随斜杠),http://amazon-elb-fqdn/apps,它失败了,我的浏览器位置上的 url 更改为http://amazon-elb-fqdn:8080/apps
为什么会发生这种情况?如何解决?
更新时间:4 月 15 日,中部时区 3:15
当我像这样直接访问 s3 url 时,http://我们的亚马逊s3存储桶/应用程序,s3 bucket 将正确地将我重定向到http://我们的亚马逊s3存储桶/应用程序/
答案1
我认为你只需要注意位置映射。所以这里有解决办法
server {
listen 8080;
access_log /var/log/nginx/server.access.log main;
root /usr/share/nginx/htdocs;
index index.html index.htm;
location ~* ^/apps/ {
rewrite ^/apps/(.*) /$1 break;
proxy_pass http://our-amazon-s3-bucket/apps;
}
}