CORS周りのトラブルメモ
前回作ったコメントAPI をこのサーバーに設置したところ、CORSのヘッダーが送られてきませんでした。
そもそも Access-Control-Allow-Origin ヘッダ等がブラウザに送られていない様子。
Nginxの設定周りかなーと思って
add_header Access-Control-Allow-Origin 'https://www.sysbe.net';
add_header Access-Control-Allow-Credentials true;
.
.
等々の記述を設定に追加したりしてましたが、結果としてこれは不要でした。
あとはjQuery周りも怪しいと思いcrossDomain: true
を指定したり。
$.ajax(
url,
{
crossDomain: true,
type: 'get',
data: data,
dataType: 'json'
}
).done(function (data) {
しかしこの設定は、同じドメインへのリクエストをクロスドメインとして強制するときのオプションらしい。
それならそもそもAPI用はサブドメインで分けるか、ということになり、現在に至ります。
DNSへのサブドメイン登録とLet’s Encripytの設定以外は特に追加の設定も必要なかったので、それを考えると時間を結構無駄にしてしまった気がする……