Closed yoidea closed 4 years ago
フロントエンド:/var/www/new-front
バックエンド:/var/www/new-api
原因はCSPによる読み込みブロックだと思われる。
CSPを変更してapi.new-diary.ictsc.net
からの読み込みを許可するといいと思う。
Content-Security-Policy: connect-src 'self' api.new-diary.ictsc.net;
/var/www/new-front/index.html
のMETAタグ
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'self'; script-src 'self' 'unsafe-eval'; style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com;">
を以下のように変更
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; connect-src 'self' api.new-diary.ictsc.net; script-src 'self' 'unsafe-eval'; style-src 'self' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com;">
CPSのエラーは消えた。
次はCORSの問題が発生したため、/var/www/new-api/public/index.php
に以下を追加した。
header('Access-Control-Allow-Origin: https://new-diary.ictsc.net');
まず、VNCサーバのWebブラウザからnew-diary.ictsc.net
にアクセスしたところ、CSPによるエラーが発生しました。そこで、サブドメイン化により別ドメイン扱いであるAPIへの通信を許可するために、/var/www/new-front/index.html
を編集し、MATAタグ内に以下を
追記し、api.new-diary.ictsc.net
への通信を許可しました。
Content-Security-Policy: connect-src 'self' api.new-diary.ictsc.net;
その後、VNCサーバのWebブラウザからnew-diary.ictsc.net
にアクセスしたところ、CORSによるエラーが発生しました。そこで、別オリジンであるnew-diary.ictsc.new
からのアクセスを許可するように/var/www/new-api/public/index.php
を編集し、以下のようなHTTPヘッダを追加するように変更しました。
header('Access-Control-Allow-Origin: https://new-diary.ictsc.net');
VNCサーバのWebブラウザから再読み込みしたところ、正しく動作しました。
匿名で日記が投稿できるサービス「すごく匿名ダイヤリー」を運営しています。 従来、フロントエンドとバックエンドを同じドメインで運用していましたが、 構成変更のため、バックエンドをサブドメインに変更する作業を行っています。
変更前: https://old-diary.ictsc.net/ https://old-diary.ictsc.net/api/
変更後: https://new-diary.ictsc.net/ https://api.new-diary.ictsc.net/
※VNCサーバのWebブラウザからのみ閲覧可能です
ソースコード内のドメインやパスは適切に書き換えましたが、何故か正常に動作しません。 変更前と同じように各機能が動作するよう、サーバにログインして原因調査 及び 修正を行ってください。
なお、サービスはメンテナンス中で限定公開としているため、対応中にサービス断が生じても問題ありません。 また、投稿データについてもバックアップから復元するので、(変更前/変更後環境共に)日記の追加・削除・スター追加は任意に実施して問題ありません。
今後の運用・開発を考慮し、変更は問題解決に必要な箇所に絞り、出来るだけ他に影響を与えないように直してください。 全てを直しきれない場合でも、可能なところまで直してください。
サービス仕様
解答方法
ログイン情報
VNCサーバから $ ssh 192.168.0.80 -l admin → PW: USerPw@19
※ $ sudo su - にて rootユーザに昇格可能です