2017-03-27 5 views
1

プロダクションHTMLとJavaScriptのmy.domain.com上にAngularプロダクションアプリが必要です。 my.domain.com ipと同じサーバー上でapiを呼び出す必要があります。 123.123.123.123:8080ポート8080にあります。アプリケーションはポート80にあります。 JSON投稿(jsonpではなく)を取得したいと思います。CORSの問題に直面しています。 プロダクションに配置できるプロキシはありますか。私のドメインでは可能なコールがありますか?それは取得と投稿で通常のAPIです。私はアプリがすでに稼働しているのでgrunt-connect-proxyを使うことはできません。サーバーがApacheにあります。CORSを避ける​​ために、同じHOST上の異なるポートをプロキシ順方向に転送

+0

すべてのコードがあなたのコードである場合、クロスドメインリクエストを許可する適切な応答ヘッダーを設定できませんか? – nnnnnn

+0

@nnnnnnこれは何を求めているのではありません。 – lin

+0

Expressウェブサーバーを使用している場合、 'cors'パッケージhttps://www.npmjs.com/package/cors – Dan

答えて

1

だけmod_proxyをインストールするには、CLIで次のコマンドを実行します)。これは、Apache(Linux上で...)=動作させるためにリバースプロキシを使用します。

  • apt-get install sudo apt-get install libapache2-mod-proxy-html
  • sudo a2enmod proxy
  • sudo a2enmod proxy_html
  • sudo a2enmod proxy_http
  • 再起動apache eg service apache2 restart

次))は、あなたのVHOSTファイルを開き、次のチェイスでは、特定のエンドポイント(サブディレクトリを転送するようにリバースプロキシ設定を入力してください)Port 8080上で実行されているお近くのAPIに。このファイルは/etc/apache2/sites-enabled/your-site-name.confの近くに配置する必要があります。 VHOST構成ファイルを有効にすることを忘れないでください。

ProxyPass /api/ http://localhost:8080/ 
ProxyPassReverse /api/ http://localhost:8080/ 

Apacheを再起動します。再びservice apache2 restart

最後に AngularJSアプリケーションのAPIエンドポイントをhttp://yourdomain/api/に設定しても問題ありません。

+0

それは動作します、ありがとう:) – cyan

関連する問題