微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular-如何解决nginx上的404错误?

我有一个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,但不幸的是没有解决办法.

如何解决此问题并避免404错误?是我必须编辑的配置步骤吗?

解决方法:

问题在于,在认的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] 举报,一经查实,本站将立刻删除。

相关推荐