Docker IPアドレスで表示と動作するが、ドメインからだと表示されない。

実現したいこと

Docker初学者です。皆様よろしくお願いします。
mp3を再生するオーディオプレーヤーをDockerで動かしています。
tarファイルをVPSにアップロードして、3000番で動かしました。
私のIPアドレス
http://11.111.111.111:3000/
では表示と再生ができます。

しかし、nginxでドメインを設定し、www.hogehoge.com/audio のURLに指定して表示をしようとするとCROSのエラーが出ます。

発生している問題・分からないこと

1つのドメインでcloudflareを使っています。nginxで以下のように書いたしました。

add_header Content-Security-Policy "default-src 'self' https://static.cloudflareinsights.com; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' https: data:; font-src 'self' https://fonts.gstatic.com;";

もう1つのcloudflareを使っていないドメインでも試しましたが、エラーは若干違いますがCROSのエラーでした。

エラーメッセージ

error

1Content-Security-Policy: The page’s settings blocked the loading of a resource at 2https://static.cloudflareinsights.com

該当のソースコード

nginx

1location /audio/ {2 proxy_pass http://localhost:3000/;3 proxy_http_version 1.1;4 proxy_set_header Upgrade $http_upgrade;5 proxy_set_header Connection 'keep-alive';6 proxy_set_header Host $host;7 proxy_set_header X-Real-IP $remote_addr;8 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;9 proxy_set_header X-Forwarded-Proto $scheme;10 proxy_set_header X-Forwarded-Host $host;11 proxy_set_header X-Forwarded-Port $server_port;12}13

docker

1version: '3'2services:3 web:4 build: . 5 ports:6 - "3000:3000"7 volumes:8 - .:/usr/src/app 9 environment:10 - NODE_ENV=production

Dockerfile

1FROM node:14-alpine 2WORKDIR /usr/src/app 3COPY package*.json ./ 4RUN npm install 5COPY . . 6EXPOSE 3000 7CMD [ "node", "server.js" ] 8

試したこと・調べたこと

上記の詳細・結果

Content-Security-Policyの書き方をいろいろ試しますがCROSの問題が解消されませんでした。

補足

特になし

コメントを投稿

0 コメント