我有一个Angle 4 SPA应用程序,并且我正在使用docker进行生产.到目前为止看起来还不错.通过终端,我进入/ dist文件夹,然后使用以下命令让docker指向dist的内容:
Docker运行-d -p 9090:80 -v ${pwd):/usr/share / Nginx / html Nginx:alpine
我在浏览器上致电:localhost:9090,可以访问该应用程序.
问题是当我再次和/或按照特定的路线重新加载页面时,我得到404 Not Found和Nginx版本,例如Nginx的/ 1.13.5.
我一直在搜索,发现此问题:404 not found error on Nginx Ask,但不幸的是没有解决办法.
解决方法:
问题在于,在默认的Nginx配置中,它仅使用index指令.您需要的是try_files指令,它将首先尝试uri,然后转到index.html.
为此,您需要传入自己的默认虚拟主机配置.像下面这样的东西应该起作用.这是基于Nginx’s Docker Github
server {
listen 80;
server_name localhost;
root /usr/share/Nginx/html;
index index.html index.htm;
location / {
try_files $uri /index.html;
}
}
之后,应该只是将该文件作为正确位置上的卷.
docker run -d -p 9090:80 -v ${pwd}:/usr/share / Nginx / html -v(path_to_your_config):/ etc / Nginx / conf.d / default.conf Nginx:alpine
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。