如何通过http代理启用OCSP装订?

我想在运行Apache httpd和Nginx的Linuxnetworking服务器上使用OCSP stapling SSL证书。 但是Nginx和Apache都是默认情况下直接访问OCSP应答器。

但是,我的web服务器位于使用直接服务器返回/直接路由的负载均衡器后面,所以我的主机configuration了公有IP地址,并且接收和回复这些公共IP上的传入stream量,但是我的服务器不能使用这些公有IP ,始发连接。 服务器运行在私有(非公共IP空间)networking上,不能通过NAT访问公共Internet,而是通过HTTP代理访问。

从安全angular度来看,这非常好。 我不想为了OCSP装订而在networking上引入NAT,而且我完全可以使用HTTP代理来处理OCSP请求(无论谁是HTTP)。

对我来说,“最好的”解决scheme就是在哪里configurationApache / Nginx来使用HTTP代理来访问OCSP应答器 – 但据我所知,没有这个select。

我遇到的最接近的select是

  • 使用Apache的SSLStaplingForceURL(它只是简单地覆盖x509 AIA端点)与一个反向代理,谁反过来确实有公共互联网接入。 反向代理的工作是用实际的OCSP响应者重写主机头和端口,并连接到那个。
  • 使用本地的iptables规则来NAT本地发起的stream量,针对OCSP响应者到我的本地HTTP代理。 为了与一个OCSP响应者可能改变的IP地址作斗争,我还会在/ etc / hosts中添加一个静态(假的)入口。

所有这些选项对我来说都不是很好,并且有很多缺点(netfilter-NAT基于IP;每当ocsp响应者的目标IP发生变化,我将不得不调整我的规则) – 我是否会再想念合理的select或Apache或Nginx的“正确”configuration选项?

你可以试试这个: http : //nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_stapling_file

设置时,合订的OCSP响应将从指定的文件中获取,而不是查询服务器证书中指定的OCSP响应者。

该文件应该是由“openssl ocsp”命令产生的DER格式。