Angular Nginx不提供docker映像中托管的角度
这个问题已经被问了一百万次,我们已经尝试了几乎所有我们能找到的解决方案来尝试和解决它 我们正在通过映射80:7021为一个角度应用程序提供服务,该应用程序位于默认位置/usr/share/NGINX/html/*内的Docker映像(NGINX Alpine映像)中 在我们的Linux机器上,我们连接了一个容器来提供一组图像,其中一个就是这个角度图像 角度图像是以--prod base href=“/v2/”作为最终URL构建的,该URL应该为应用程序提供服务,并且在Linux机器上的NGINX中连接了一个/v2/位置 在Linux机器上NGINX的默认配置中,我们有一个位置/v2/连接和一个到的代理传递http://localhost:7021 在Linux上的NGINX中,我们也相应地设置了mime.types,以确保JS/CSS的服务是正确的 但是,不提供JS/CSS文件。默认情况下,如果NGINX找不到文件,它将提供标准index.html文件,从而导致可怕的“resource services as text/html”错误 我们已经尝试了各种可能的方案来解决这个问题,所以我现在转到这里,希望有人看到这个行为没有得到解决,并且可以提供除mime.types和location/.css之外的解决方案 再次重申我们的两种情况 1.)基于NGINX Alpine的Docker图像 此图像包含Angular应用程序的内置版本 应用程序文件被复制到Angular Nginx不提供docker映像中托管的角度,angular,nginx,ubuntu-18.04,Angular,Nginx,Ubuntu 18.04,这个问题已经被问了一百万次,我们已经尝试了几乎所有我们能找到的解决方案来尝试和解决它 我们正在通过映射80:7021为一个角度应用程序提供服务,该应用程序位于默认位置/usr/share/NGINX/html/*内的Docker映像(NGINX Alpine映像)中 在我们的Linux机器上,我们连接了一个容器来提供一组图像,其中一个就是这个角度图像 角度图像是以--prod base href=“/v2/”作为最终URL构建的,该URL应该为应用程序提供服务,并且在Linux机器上的NGINX
/usr/share/nginx/html/*
2)主机箱
主机盒运行的是Ubuntu18.04发行版,拥有NGINX 1.14.2和Docker 19.03.6
主机框有一个容器,用于运行一组图像,包括上面讨论的角度图像。NGINX中的主机框在/v2/*处为角度应用程序设置了一个/location,意思是:
,这就是我们使用/v2/的base href创建帐户的原因
就我们所知,这是标准做法,一切都应该正常进行。但事实并非如此。我们已经用尽了谷歌搜索。下一步我们可以尝试什么?如果用inspect打开浏览器,控制台中会显示什么?它将尝试从找不到的url获取一些资源。有什么错误?有时后端发送错误或没有MIME类型的头。与某些安全标头一起,这可能会导致问题。至少这是我的经验。仅交付完整的
/v2/
是不够的,您必须交付具有特定标题的特定路径。为了您的利益,我希望这样的路径不会太多。@PanagiotisBougioukos浏览器中的控制台(Chrome)给我提供的典型资源是text/html,而不是预期的text/css或text/javascript,但是,下一步解决此问题的各种方法,到目前为止还没有对我们起作用。@qräbnö这就是我担心的,因为这将成为一个问题。我们完全可以将应用程序发布到它自己的url/自己的dns,但是,这有待CAB批准,可能需要一些时间。呃,alocation/v2/blah.php
withmore_set_headers'Content Type:application/x-javascript'例如,当您有一个用作Javascript资源的php文件时,code>就足够了。这毫无意义,但当它发生时,你必须处理它。如果你打开浏览器,检查它在控制台中显示什么?它将尝试从找不到的url获取一些资源。有什么错误?有时后端发送错误或没有MIME类型的头。与某些安全标头一起,这可能会导致问题。至少这是我的经验。仅交付完整的/v2/
是不够的,您必须交付具有特定标题的特定路径。为了您的利益,我希望这样的路径不会太多。@PanagiotisBougioukos浏览器中的控制台(Chrome)给我提供的典型资源是text/html,而不是预期的text/css或text/javascript,但是,下一步解决此问题的各种方法,到目前为止还没有对我们起作用。@qräbnö这就是我担心的,因为这将成为一个问题。我们完全可以将应用程序发布到它自己的url/自己的dns,但是,这有待CAB批准,可能需要一些时间。呃,alocation/v2/blah.php
withmore_set_headers'Content Type:application/x-javascript'例如,当您有一个用作Javascript资源的php文件时,code>就足够了。这没有道理,但当它发生时,你必须处理它。