使用 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 只会调用您安装了浏览器的计算机。