如何安全地存储服务器端 API 令牌以与使用 URL 重写作为代理服务器的 IIS 静态站点一起使用?

问题描述 投票:0回答:1

我对该项目可以使用的技术堆栈非常有限......

我有一个托管在 IIS 上的静态站点 (SPA),具有 ARR 和 URL 重写(模块)规则设置,用于从服务器调用外部 API 并将结果返回给客户端。

它的工作原理如下:

  1. 客户端浏览器从托管静态网页调用“proxy-api”端点
  2. url-rewrite 更改了使用令牌服务器端调用真实 API 端点的请求
  3. 当 API 响应返回时,URL 重写将响应转发给客户端,无需令牌

到目前为止,只要我将 API 令牌存储在 web.config 文件的 serverVariables 中(url-rewrite 模块可以看到它),一切就可以正常工作。我想以某种形式加密令牌,但我尝试的一切都失败了。

我尝试使用 aspnet_regiis 加密 web.config 部分,但我仍然收到各种错误,就好像 IIS 无法读取 web.config 文件一样。主要错误似乎是:“不支持配置部分加密”。

我已经尝试了互联网和人工智能建议的所有方法,但似乎没有任何效果。我想要的只是在服务器上加密这些 API 令牌,同时允许 IIS 10 中的 URL 重写模块能够访问它们。

我使用的是最新版本的 IIS/ARR 模块/URL 重写模块。静态站点是标准的 html/js/css

asp.net iis server webserver
1个回答
0
投票

我想以某种形式加密令牌,但我尝试的一切都失败了。

据我所知,URL Rewrite 直接读取规则,包括它需要的任何值(例如 API 令牌),并且无法解密加密内容。

由于您已经使用反向代理,API 请求将转发到后端服务,后端服务可以安全地保存 API 令牌并处理与 API 的通信。所以我不确定为什么您要将令牌存储在 Web.Config 中并尝试对其进行加密。

另一方面,如果你需要加密token,我认为应该从你的后端代码和配置方面考虑,而不是IIS。

© www.soinside.com 2019 - 2024. All rights reserved.