Angular 5的静态脚本文件停止与docker swarm一起使用traefik代理

时间:2018-06-20 15:22:19

标签: angular5 docker-swarm traefik

我有一个Nginx容器,它将在端口80上为所有域提供角度应用程序。 当我在docker swarm中将容器作为服务启动并将其绑定到端口80时。应用程序运行正常。

但是我尝试使用traefik反向代理,之后只有HTML可以正常工作,并且所有脚本都没有错误加载

  

拒绝执行“”中的脚本,因为其MIME类型   ('text / plain')不可执行,并且严格的MIME类型检查是   已启用。拒绝从“ http://app.local/runtime.js”执行脚本   因为它的MIME类型('text / plain')不可执行,并且严格   MIME类型检查已启用。 app.local /:1拒绝执行脚本   来自“ http://app.local/polyfills.js”,因为它的MIME类型   ('text / plain')不可执行,并且严格的MIME类型检查是   已启用。 app.local /:1拒绝执行脚本   “ http://app.local/styles.js”是因为其MIME类型(“文本/纯文本”)为   不可执行,并且启用了严格的MIME类型检查。 app.local /:1   拒绝从“ http://app.local/vendor.js”执行脚本,因为   其MIME类型('text / plain')是不可执行的,并且是严格的MIME类型   检查已启用。 app.local /:1拒绝执行脚本   'http://app.local/main.js',因为它的MIME类型('text / plain')不是   可执行文件,并启用了严格的MIME类型检查。

对于traefik,我遵循了https://jmkhael.io/traefik-as-a-dynamic-reverse-proxy-for-docker-swarm/

中的步骤
docker network create --driver=overlay traefik-net 


docker service create \
--name traefik \
--constraint 'node.role==manager' \
--publish 80:80 \
--publish 8080:8080 \
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
--network traefik-net \ traefik \
--docker \
--docker.swarmmode \
--docker.domain=jmkhael.io \
--docker.watch \
--logLevel=DEBUG \
--web 

以及应用服务

docker service create \
--name web \
--label 'traefik.port=80' \
--label traefik.frontend.rule="app.local; Path: /" \
--network traefik-net \ app

这是正确的方法吗?还是我错过任何其他配置。 预先非常感谢。

1 个答案:

答案 0 :(得分:0)

该应用在删除

后开始运行
  

路径:/

加入Web容器标签。