私のhtmlファイルはNginxのhtmlフォルダーの下にあります.Angular経由で$ httpリクエストをPlayアプリケーションに送信しようとしました。Play アプリケーションはポート 9210 の下にありますが、nginx はポート 80 をリッスンします (html ファイルを表示するため)。異なるポートは異なるドメインとして扱われるため、ここに問題があると思います。
私のNginxサーバーの構成は次のとおりです。
listen 80;
listen 443 default ssl;
server_name localhost;
#ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
add_header Access-Control-Allow-Origin http://127.0.0.1;
}
Play のルート ファイルの関連部分は次のとおりです。
POST /processReq controllers.Application.processReq()
角度で私の $http リクエストは次のとおりです。
$scope.url = 'http://ec2-50-112-30-246.us-west-2.compute.amazonaws.com:9210/processReq';
$scope.routeReview = function() {
$http.post($scope.url, { "blanCommand": "read reviews() for=\""+$scope.keywords+"\" mode=full"}).
success(function(data, status) {
$scope.status = status;
$scope.data = data;
$rootScope.reviews = data;
alert('success');
$location.path('/review');
})
.
error(function(data, status) {
$scope.data = data || "Request failed";
$scope.status = status;
alert('fail');
$location.path('/review');
});
};
私の質問は次のとおりです。要求すると、Access-Control-Allow-Origin エラーが表示されます。Web アプリケーションを構成する適切な方法は何ですか?
よろしくお願いします