У меня есть контейнер nginx, который будет обслуживать приложение angular на порту 80 для всех доменов. Когда я запускаю контейнер в Docker Swarm как сервис и привязываю его к порту 80. Приложение работает нормально.
Но я пробовал использовать обратный прокси-сервер traefik, и после этого работает только HTML, а все скрипты не загружаются с ошибкой.
Отказано в выполнении сценария из '', поскольку его тип MIME ("текстовый/обычный") не является исполняемым, и включена строгая проверка типов MIME. Отказано в выполнении сценария из 'http://app.local/runtime.js', поскольку его тип MIME ('text/plain') не является исполняемым, и включена строгая проверка типов MIME. app.local/:1 Отказано в выполнении скрипта из 'http://app.local/polyfills.js', потому что его тип MIME ("текстовый/обычный") не является исполняемым, и включена строгая проверка типа MIME. app.local/:1 Отказано в выполнении скрипта из 'http://app.local/styles.js', потому что его тип MIME ("текстовый/обычный") не является исполняемым, и включена строгая проверка типа MIME. app.local/:1 Отказано в выполнении скрипта из 'http://app.local/vendor.js', потому что его тип MIME ("текстовый/обычный") не является исполняемым, и включена строгая проверка типа MIME. app.local/:1 Отказано в выполнении скрипта из 'http://app.local/main.js', потому что его тип MIME ("текстовый/обычный") не является исполняемым, и включена строгая проверка типа 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
Это правильный путь? Или я пропустил какие-либо другие конфигурации. Спасибо заранее.
--docker.domain=jmkhael.io
, а также; Path: /
часть правила в веб-сервисе. Посмотрите, помогут ли они. - person Bret Fisher   schedule 21.06.2018