質問: require('socket.io').listen(server); server.listen(9090);//9090番ポートで起動 ・・・ ``` その他補足 ----- * 現在はAccess-Control-Allow-Originにsocket.io.jsを読み込んでいるサイトのホスト名がセットされています。 * nginxのリバースプロキシを使用しています * nginxの方でもAccess-Control-Allow-Originを書き換える指定を入れましたが、書き換えではなく追記となりました。 * クロスドメインのエラー ``` XML HttpRequest cannot load http://xxx.xx.xx/socket.io/?EIO=3&transport=polling&t=123456789&sid=USkrjwl. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://hostsite.aa.bb/' is therefore not allowed access. The response had HTTP status code 403. ``` ※パラメーター値、URLはでたらめです。手打ちしたので綴りミスがあるかもしれないです・・・。 問題の個所がわかる方がいらっしゃいましたら、ご教授願います。
回答: 解決しました。 Nodeサーバーからheaderを追加変更できなかったので、nginxの設定を書き換えました。 今まで、下記のような書き方をしておりました。 `add_header Access-Control-Allow-Origin *` `proxy_set_header Access-Control-Allow-Origin *` ですが、下記の書き方で「Access-Control-Allow-Origin」が指定できました。 リバースプロキシ使っているからですかね? `proxy_set_header Origin *` ただ、アスタリスク(*)を使った指定だと、また別のエラーが発生したので、今のところホスト名を指定しています。