代理在同一主机上转发不同的PORT以避免CORS

时间:2017-03-27 13:15:17

标签: javascript angularjs proxy

我需要在my.domain.com上安装Angular生产应用程序,其中生产html和javascript。 我需要在与my.domain.com ip相同的服务器上调用api。端口8080上的123.123.123.123:8080.App在端口80上。 我想调用get JSON帖子(而不是jsonp),我面临CORS问题。 我可以在制作中使用任何代理,以便在我的域名上进行可能的呼叫吗?获取和发布是正常的api。我不能使用grunt-connect-proxy,因为app已经投入生产。 服务器在apache上。

1 个答案:

答案 0 :(得分:1)

只需使用反向代理使其工作=)...在apache(Linux)上运行CLI中的以下命令以安装mod_proxy

  • apt-get install sudo apt-get install libapache2-mod-proxy-html
  • sudo a2enmod proxy
  • sudo a2enmod proxy_html
  • sudo a2enmod proxy_http
  • 重启你的apache,例如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/,您没问题。