我有一个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
这是正确的方法吗?还是我错过任何其他配置。 预先非常感谢。
答案 0 :(得分:0)
该应用在删除
后开始运行路径:/
加入Web容器标签。