我如何允许某人在没有证书但通过具有证书的虚拟机连接到需要客户端身份验证证书的网站?
How do i allow someone to connect to a website that needs client authentication cert without the cert but through a vm that has the cert?
所以这是我的场景:
有一个网站需要用于客户端身份验证的证书,遗憾的是我们无法向所有人提供该证书。此外,用证书保护网站不是我们可以改变的。
如果以上陈述有些混乱,请提供更多详细信息:
- 网站 X(不是我开发的)需要客户端认证证书进行认证
- 我可以在只有我有权登录的虚拟机上安装证书。
- 我想让其他人访问网站 X 但无法向他们提供证书
有什么可行的方法吗?
这是我认为可能有效但不确定如何做的方法,即使那是可能的:
- 在服务器 VM 上托管网站(网站 Y)
- 当有人打开该网站时:ASP.Net 代码将证书调用读取到网站 X
- 向网站 X
出示用于客户端身份验证的证书
- 获得响应
- 按原样显示对用户的响应?
但这种方法的问题是网站可能只是 return 原始 html 并且可能有自己的自定义代码在人们选择下拉菜单或其他内容时执行某些操作?我该如何解决那个?
有人知道我该如何实现吗?
如果我不清楚或者我不应该在论坛上问这样的问题,我深表歉意。
您可以使用像 nginx to solve this issue. Run nginx on your server VM and listen for connections on port 80. On the upstream side, use proxy_pass 这样的反向代理来连接到 'website X'。将证书作为 SSL 握手的一部分出示以执行证书验证。验证完成后,其余会话将正常进行。
使用这种方法,您不必担心 'website X' 发生变化,因为 nginx 会简单地将所有响应代理回客户端。
所以这是我的场景: 有一个网站需要用于客户端身份验证的证书,遗憾的是我们无法向所有人提供该证书。此外,用证书保护网站不是我们可以改变的。 如果以上陈述有些混乱,请提供更多详细信息:
- 网站 X(不是我开发的)需要客户端认证证书进行认证
- 我可以在只有我有权登录的虚拟机上安装证书。
- 我想让其他人访问网站 X 但无法向他们提供证书
有什么可行的方法吗? 这是我认为可能有效但不确定如何做的方法,即使那是可能的:
- 在服务器 VM 上托管网站(网站 Y)
- 当有人打开该网站时:ASP.Net 代码将证书调用读取到网站 X
- 向网站 X 出示用于客户端身份验证的证书
- 获得响应
- 按原样显示对用户的响应?
但这种方法的问题是网站可能只是 return 原始 html 并且可能有自己的自定义代码在人们选择下拉菜单或其他内容时执行某些操作?我该如何解决那个?
有人知道我该如何实现吗? 如果我不清楚或者我不应该在论坛上问这样的问题,我深表歉意。
您可以使用像 nginx to solve this issue. Run nginx on your server VM and listen for connections on port 80. On the upstream side, use proxy_pass 这样的反向代理来连接到 'website X'。将证书作为 SSL 握手的一部分出示以执行证书验证。验证完成后,其余会话将正常进行。
使用这种方法,您不必担心 'website X' 发生变化,因为 nginx 会简单地将所有响应代理回客户端。