前提・実現したいこと
Django+https-portalで構築環境で、Djangoのseting.pyでDebug=Falseをするとstaticを参照しなくなり、cssが読み込めなくなります。
ブラウザで検証をしたところ以下のようなエラーが発生しており、なぜか、cssではなくhhtmlとして失敗しているように見えます。
Refused to apply style from 'https://test.engineers-life.com/static/vendor/bootstrap/css/bootstrap.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. Refused to apply style from 'https://test.engineers-life.com/static/css/simple-sidebar.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
いろいろとネットで調べて、やり方をまねてもなかなか事象が治りません。
参考にしたサイト
serving Django static files with Docker, nginx and gunicorn
Configure Nginx through Environment Variables
※Nginxにstaticの設定が必要
[Docker]Djangoを無料でHTTPS化して簡単にデプロイする方法
docker-composeでnginxからstaticフォルダーが参照できるnginx-app.confの設定
該当のソースコード
$ cat docker-compose.yml version: '3' services: db: image: postgres ports: - 5432:5432 environment: - POSTGRES_PASSWORD=postgres volumes: - ./db-data:/var/lib/postgresql/data container_name: postgres web: restart: always build: . command: bash -c "python manage.py runserver 0.0.0.0:8000 && python manage.py migrate" volumes: - .:/code ports: - 8000:8000 depends_on: - db container_name: django https-portal: image: steveltn/https-portal:1 ports: - 80:80 - 443:443 links: - web restart: always environment: DOMAINS: 'test.engineers-life.com -> http://web:8000' STAGE: 'production' # Don't use production until staging works #FORCE_RENEW: 'true' container_name: https-portal volumes: - ./ssl_certs:/var/lib/https-portal volumes: db-data: ssl_certs:
試したこと
上記リンクの通り、setting.pyでstaticルートを設定したりしたのですが、うまくいかず。
Nginxのlocationを編集するというのがあったので、https-portalでどこにNginx.confが作成されるのか不明です。
補足情報(FW/ツールのバージョンなど)
$ cat requirements.txt
Django
psycopg2
gunicorn
おそらく、https-portalにあるNginxのファイルでlocationを編集することで解決すると思うのですが、ご教示いただけないでしょうか。
※本環境はVPSで構築しており、グローバル環境下で動作しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。