Plupload を使用して、あるサーバーの Web サイトから別のサーバーのバックエンドにファイル (非常に大きくなる可能性があります) をアップロードしようとしています。まあ言ってみれば:
domain 1 = http://www.websitedomain.com/uploadform
domain 2 = http://www.backenddomain.com/uploadhandler
アップロードしようとして、次を送信します。
OPTIONS /main/uploadnetwork.php HTTP/1.1
Host: backenddomain.com
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://www.websitedomain.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4
Access-Control-Request-Headers: origin, content-type
Accept: */*
Referer: http://www.websitedomain.com/uploadform
Accept-Encoding: gzip,deflate,sdch
Accept-Language: nl-NL,nl;q=0.8,en-US;q=0.6,en;q=0.4
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
DNT: 1
しかし、アップロードを開始しようとすると、サーバーは次を返します。
HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD, OPTIONS, TRACE
Content-Type: text/html
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
X-Powered-By-Plesk: PleskWin
Date: Mon, 01 Oct 2012 12:41:57 GMT
Content-Length: 999
いくつかの調査を行った後、ブラウザーがこれを行って、サーバーが意図したメッセージを受け入れるかどうかを確認することがわかりました。常に投稿を使用しているにもかかわらず、サーバーが単純な POST 呼び出しを受け入れる気がないようです。
Google Chrome コンソールに次のエラーが表示されます。
XMLHttpRequest cannot load http://www.backenddomain.com/uploadhandler. Origin http://www.websitedomain.com is not allowed by Access-Control-Allow-Origin.
ブラウザのチェックを停止する方法や、サーバーに POST を受け入れるように指示する方法を知っている人はいますか?