我将NGINX设置为一个将Docker容器作为容器运行的虚拟网络的反向代理。其中一个容器为基于Angular 4的SPA提供HTML5模式下的客户端路由。HTML5模式中的NGINX,proxy_pass和SPA路由
该应用程序被映射到NGINX上的位置,以便http://server/带您进入SPA主屏幕。水疗中心内航行时
server {
listen 80;
...
location/{
proxy_pass http://spa-server/;
}
location /other/ {
proxy_pass http://other/;
}
...
}
的角度路由器改变URL来http://server/home或其它途径。
但是,当我尝试直接访问这些URL时,会返回404。该错误源于spa-server
,因为它显然没有任何这些路由的内容。
我发现配置NGINX以支持这种情况的例子总是假设SPA的静态内容直接从NGINX提供,因此try_files
是一个可行的选择。
如何将任何未知的URL转发到SPA以便它可以处理它们本身?