使用 url 重写调用本地主机 api
Call localhost api with url rewrite
我有一个 WebApi 和一个 angular 站点。
angular 部分位于 public 地址上。
有没有可能到达api而不暴露它?
我在想也许可以使用 url 重写来完成(我是 url 重写的新手)但到目前为止我还没有运气。
例如,如果站点的地址为 somesite.com,则调用 somesite.com/api/cars 以检索汽车列表。然后重写应该改变它 ti localhost:5000/api/cars.
有可能吗?
提前致谢!
如果您计划部署静态服务器(例如 NGINX / Apache)来传送 angular 文件,并进一步将其用作反向代理以从您的 API 获取数据,那么可以,您可以重写你的 URL 作为 localhost:5000/api/cars
.
您可以进一步配置您的服务器 运行 在端口 5000 上只接受来自 localhost / 127.0.0.1
的请求。因此 somesite.com:5000/api/cars
将无法从外部世界访问。
你不能只用 URL Rewrite 来做到这一点,你必须安装 ARR。安装后,您可以输入这样的规则来实现您想要的:
<rules>
<rule name="Reverse Proxy to api" stopProcessing="true">
<match url="^api/cars/(.*)" />
<action type="Rewrite" url="http://localhost:5000/api/cars/{R:1}" />
</rule>
</rules>
这是不可能的。我不知道我在想什么。
由于 Angular 在客户端上,因此如果调用 localhost 则无法访问服务器。 Localhost 只会调用您安装了浏览器的计算机。
我有一个 WebApi 和一个 angular 站点。 angular 部分位于 public 地址上。 有没有可能到达api而不暴露它?
我在想也许可以使用 url 重写来完成(我是 url 重写的新手)但到目前为止我还没有运气。
例如,如果站点的地址为 somesite.com,则调用 somesite.com/api/cars 以检索汽车列表。然后重写应该改变它 ti localhost:5000/api/cars.
有可能吗?
提前致谢!
如果您计划部署静态服务器(例如 NGINX / Apache)来传送 angular 文件,并进一步将其用作反向代理以从您的 API 获取数据,那么可以,您可以重写你的 URL 作为 localhost:5000/api/cars
.
您可以进一步配置您的服务器 运行 在端口 5000 上只接受来自 localhost / 127.0.0.1
的请求。因此 somesite.com:5000/api/cars
将无法从外部世界访问。
你不能只用 URL Rewrite 来做到这一点,你必须安装 ARR。安装后,您可以输入这样的规则来实现您想要的:
<rules>
<rule name="Reverse Proxy to api" stopProcessing="true">
<match url="^api/cars/(.*)" />
<action type="Rewrite" url="http://localhost:5000/api/cars/{R:1}" />
</rule>
</rules>
这是不可能的。我不知道我在想什么。 由于 Angular 在客户端上,因此如果调用 localhost 则无法访问服务器。 Localhost 只会调用您安装了浏览器的计算机。