3

次の設定をしようとしています:

API

api.domain.com

アプリ

domain.com

2つのURLのそれぞれに1つずつ、2つの異なるnginx構成をセットアップしました。両方とも、ブラウザー (api.domain.com/test) で通常の GET リクエストを実行すると機能しますが、angularjs (POST) から $resource 呼び出しを実行するとすべてが崩壊します。これは

     not allowed by Access-Control-Allow-Origin.

私はこれをしばらく続けていて、さまざまな構成ファイルをいじっています。現在、次のファイルを使用していますが、これが機能するかどうかわかりません。

http://paste.laravel.com/h6U

どんな助けでも大歓迎です

4

3 に答える 3

0

Angular JS で CORS を使用するには、この構成をアプリケーションの angular モジュールに追加してみてください。

angular.module('simpleRESTapp')
.config(['$httpProvider', function($httpProvider) {
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];
}])

Nginx 側では、許可リストに一致する場合にクライアントから送信されたヘッダーAccess-Control-Allow-Originの値を含むヘッダーを返すように、nginx またはアプリケーション サーバーを構成する必要があります。Originこの構成は機能するはずだと思いますが、

if ($http_origin ~ "^(http://developers.example.com|http://example.com)$") {
    add_header "Access-Control-Allow-Origin" $http_origin;
}
于 2013-06-10T11:26:52.553 に答える