我有一个Angular应用程序,它由一个index.html文件组成。唯一的其他文件是main.css和一些图像资产。我已经重新发现,没有办法使用S3虚拟主机服务它,所以我试图将nginx设置为代理。我之前做过这个,但它是几年前的事情,并没有使用Angular应用程序和HTML5推送状态。这是我当前的nginx配置服务器块。
server {
server_name foo.com;
set $s3_bucket 'foo.com.s3.amazonaws.com';
proxy_http_version 1.1;
proxy_set_header Host $s3_bucket;
proxy_set_header Authorization '';
proxy_hide_header x-amz-id-2;
proxy_hide_header x-amz-request-id;
proxy_hide_header Set-Cookie;
proxy_ignore_headers "Set-Cookie";
proxy_buffering off;
proxy_intercept_errors on;
resolver 172.16.0.23 valid=300s;
resolver_timeout 10s;
location ~* ^/(assets|styles)/(.*) {
set $url_full '$1/$2';
proxy_pass http://$s3_bucket/live/$url_full;
}
location / {
rewrite ^ /live/index.html break;
proxy_pass http://$s3_bucket;
}
}
我不假设这个配置。这一切都可能是完全错误的。
它确实“有效”。我可以去foo.com,网站服务,我可以导航,这一切都有奇效。但它不会加载任何不是/的URL。所有其他重定向到/,这是一个问题。
我做错了什么?所有帮助表示赞赏。