Ajaxでクロスサイトスクリプティング的なことするとき、アクセス先のサーバに
Access-Control-Allow-Originヘッダーを追加しないといけないみたいなんだな。
普通は、
単一サイトからのアクセスでGETだけ許可するのであれば
Access-Control-Allow-Origin http://yattarou.jp;
add_header Access-Control-Allow-Methods GET;
全部許可する場合は
Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET;
でできる。
ただ、大規模なサイトでallで許可するって何されるかわかんないし、ちょっとこわいよねってことで。
指定したサイトだけ許可する方法にしたかったのが、↓の書き方じゃだめだった。
Access-Control-Allow-Origin http://yattarou.jp http://yattarou2.jp;
add_header Access-Control-Allow-Methods GET;
なので、こう書いたらいけたよー
yattarou.jpがoriginヘッダーに組み込まれていれば、Access-Control-Allow-Origin:*を付けて上げるっていう
ことです。
ただし!!リクエストにorginヘッダーが入っているときのみ有効なので、注意してください。
アプリ、使用するメソッドによっては、originヘッダーが入ってない場合があるので
server {
listen 80;
server_name yattarou.jp;
root /home/yattarou;
location / {
if ($http_origin ~ "^(http://yattarou.jp|http://yattarou2.jp|http://yattarou3.jp)$") {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET;
}
}