###前提・実現したいこと
Dockerで立てたNginxで、nginx-proxyを使わずURLのパスによってDockerで立てた複数のWebサービスにアクセスできるようにしたいと思っています。
OSはMacOS Sierra、Dockerは1.12.3です。
###発生している問題・エラーメッセージ
JSやCSSファイルのリクエストURLがhttp://IPアドレス/red/ファイルのパス
やhttp://IPアドレス/blue/ファイルのパス
ではなくhttp://IPアドレス/ファイルのパス
となっています。一応、rewriteでリダイレクトさせましたが、複数のWebサービスを動かすと一方がJSやCSSファイルを読み込んでくれません。
rewriteの正規表現だけで無理やり解決することも可能でしょうが、Webサービスを増やす可能性もあるので違う方法で解決したいです。
どうしたら複数のWebサービスを正常に動かすことができますか?
解決策をご教示ください。
###該当のソースコード
yaml
1# docker-compose.yml 2nginx: 3 image: "nginx" 4 ports: 5 - "80:80" 6 links: 7 - "redmine:redmine" 8 - "rhodecode:rhodecode" 9 volumes: 10 - "$PWD/conf.d:/etc/nginx/conf.d" 11rhodecode: 12 image: "codingtony/rhodecode" 13 ports: 14 - "5000:5000" 15db: 16 image: postgres:9.5 17 environment: 18 - POSTGRES_PASSWORD=secret 19 - POSTGRES_USER=redmine 20redmine: 21 image: redmine:2.6.8 22 links: 23 - db 24 ports: 25 - "3000:3000" 26 volumes: 27 - /srv/docker/redmine/redmine:/home/redmine/data 28
nginx
1# default.conf nginx.confは未編集です。 2server { 3 listen 80; 4 server_name localhost; 5 6 location / { 7 rewrite ^/(.+)$ /red$uri redirect; 8 rewrite ^/(.+)$ /blue$uri redirect; 9 10 root /etc/nginx/conf.d; 11 index index.html; 12 } 13 14 location /red/ { 15 proxy_pass http://192.168.99.100:3000/; 16 } 17 18 location /blue/ { 19 proxy_pass http://192.168.99.100:5000/; 20 } 21 22 23 error_page 404 /404.html; 24 25 error_page 500 502 503 504 /50x.html; 26 location = /50x.html { 27 root /usr/share/nginx/html; 28 } 29}

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。