Vue.js + Net Core 3.1 -重定向API调用



我正在做的一个项目遇到了问题。我有一个Vue客户端做API调用我的后端是写在。net Core 3.1。这两个应用程序部署在不同的服务器上。

现在的问题是,我的后端服务器不允许我做API调用直接从浏览器。所以我必须在客户端服务器上做一些"重定向"来访问我的API。

例如:

如果我调用backend_server/api/values我得到一个错误(防火墙)。

我想我应该做第二个API之类的,但我不确定如何处理这个问题。有人有这方面的经验吗?欢迎任何帮助!

亲切的问候

这里可以有多个选项

  1. 删除防火墙规则-这将允许你的API受到浏览器的攻击。如果防火墙不是由你管理的,你不能这样做

  2. 在防火墙中添加IP或端口例外规则-您可以在防火墙上允许特定的端口或IP,而不是在服务器上禁用整个入站规则。如果你对防火墙有控制

  3. 创建代理API -另一种方法是,您可以创建一个中间件API来转发您的请求并充当代理。这将满足性能、资源、时间和安全性方面的要求。我不建议这样做,但在。net Core

    中很容易实现。
  4. 指定CORS策略-如果你的Vue.js和API来自相同的来源(IP),你可以在服务器上配置CORS,这将限制访问来自相同来源的API。这意味着只有www.google.com可以访问GoogleAPI。这将保护API不受其他来源的影响

  5. 隧道通过VPN -如果安全是一个问题,使用VPN服务隧道您的API请求。这是不可能的,每个客户端使用您的web服务。

最好的方法是在服务器上为您的应用程序打开一个特定的规则。在两者之间编写代理会有很多缺点,尽管可以实现。

最新更新