javascript - 代理转发同一主机上的不同端口以避免 CORS

标签 javascript angularjs proxy

我需要在 my.domain.com 上安装 Angular 生产应用程序,生产 html 和 javascript 就在其中。 我需要在与 my.domain.com ip 相同的服务器上调用 api。 123.123.123.123:8080,端口 8080。应用程序位于端口 80。 我想调用 get JSON posts (而不是 jsonp ),并且我面临 CORS 问题。 我可以在生产中放置任何代理,以便可以对我的域进行调用吗?这是带有 get 和 posts 的普通 api。我无法使用 grunt-connect-proxy,因为应用程序已经在生产中。 服务器在apache上。

最佳答案

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

  • apt-get install sudo apt-get install libapache2-mod-proxy-html
  • sudo a2enmod 代理
  • sudo a2enmod proxy_html
  • sudo a2enmod proxy_http
  • 重新启动 apache,例如服务apache2重新启动

下一步) 打开您的 VHOST 文件并输入反向代理配置,以将特定端点(在此为子目录)转发到在端口 8080 上运行的本地 API) 。该文件应位于 /etc/apache2/sites-enabled/your-site-name.conf 附近。不要忘记启用您的 VHOST 配置文件。

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

重新启动你的apache,例如服务 apache2 再次重新启动

最后) 将 AngularJS 应用程序 API 端点配置为 http://yourdomain/api/你很好。

关于javascript - 代理转发同一主机上的不同端口以避免 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43047517/

相关文章:

proxy - 如何将 wget 与代理一起使用

python - 有人能让我理解这段扭曲的代理代码中connectionMade的定义吗?

Javascript - 仅在完美匹配时替换

javascript - 使用定义的函数而不是匿名函数作为回调

javascript - 如何在带有语法提示的语音合成中插入停顿

javascript - 土耳其字符串的子字符串

angularjs - 在 Angular 中以德语格式 "having comma"输入十进制数效果不佳

javascript - AngularJS 0x800a139e - JavaScript 运行时错误 : [$injector:modulerr]

javascript - 数组属性未解析为 angularjs 指令

haskell - 如何在 Haskell 中使用代理? (可能使用更高等级的类型扩展)