我有一个在我无法控制的 S3 服务器上公开的 SPA(单页应用程序)。
它的(前端)路由基于 html5 模式下的历史推送状态。所有内容都在“index.html”页面中。
这意味着http://example.com:8080/myapp
显示一个带有链接的应用程序,例如指向http://example.com:8080/myapp/about/me
没有“关于”文件夹:一切都由 Javascript 提供支持。
但是,如果用户刷新页面http://example.com:8080/myspa/about/me
,他将得到 404。
因此我决定建立一个反向代理。
我到目前为止尝试过的:
server {
listen 8000;
location / {
try_files $uri $uri/ http://example.com:8080/myapp/index.html;
#proxy_pass http://example.com:8080/myapp/;
}
}
有了这些规则,我可以将代理反向到应用程序,但不幸的是,它不起作用。
应用程序的反向代理如何根据推送状态公开带有 Javascript 路由的“index.html”并允许用户正确刷新页面?