我对该项目可以使用的技术堆栈非常有限......
我有一个托管在 IIS 上的静态站点 (SPA),具有 ARR 和 URL 重写(模块)规则设置,用于从服务器调用外部 API 并将结果返回给客户端。
它的工作原理如下:
到目前为止,只要我将 API 令牌存储在 web.config 文件的 serverVariables 中(url-rewrite 模块可以看到它),一切就可以正常工作。我想以某种形式加密令牌,但我尝试的一切都失败了。
我尝试使用 aspnet_regiis 加密 web.config 部分,但我仍然收到各种错误,就好像 IIS 无法读取 web.config 文件一样。主要错误似乎是:“不支持配置部分加密”。
我已经尝试了互联网和人工智能建议的所有方法,但似乎没有任何效果。我想要的只是在服务器上加密这些 API 令牌,同时允许 IIS 10 中的 URL 重写模块能够访问它们。
我使用的是最新版本的 IIS/ARR 模块/URL 重写模块。静态站点是标准的 html/js/css
我想以某种形式加密令牌,但我尝试的一切都失败了。
据我所知,URL Rewrite 直接读取规则,包括它需要的任何值(例如 API 令牌),并且无法解密加密内容。
由于您已经使用反向代理,API 请求将转发到后端服务,后端服务可以安全地保存 API 令牌并处理与 API 的通信。所以我不确定为什么您要将令牌存储在 Web.Config 中并尝试对其进行加密。
另一方面,如果你需要加密token,我认为应该从你的后端代码和配置方面考虑,而不是IIS。