如果一个Apache服务器充当反向代理,终止ssl连接,是否能够caching响应? 我知道用sslencryption的响应本身不能被caching,但是如果apache终止了ssl连接,它应该可以访问未encryption的响应。 澄清一下,该站点当前的apacheconfiguration如下:
<VirtualHost *:80> ServerName api.beta.robocubs4205.com Redirect permanent / https://api.beta.robocubs4205.com </VirtualHost> <VirtualHost *:443> ServerName api.beta.robocubs4205.com SSLEngine On SSLCertificateFile /etc/letsencrypt/live/beta.robocubs4205.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/beta.robocubs4205.com/privkey.p$ ProxyRequests Off ProxyPass "/" "http://127.0.0.1:8080/" ProxyPassReverse / http://127.0.0.1:8080/ </VirtualHost>
注意ProxyPass指令代理http而不是https。 我可以在这种情况下添加caching吗? 如果是这样,我可以使用与正常httpcaching相同的configuration吗?还是有什么特别的我需要做的? 另外,请随时指出我发布的configuration中是否有任何大的安全漏洞。
编辑:如果通过https与SSLProxyEngine代理到另一台服务器的答案是相同的?
我不明白为什么,但是您的web应用程序需要使用Cache-Control标头非常明确。 虽然http的默认值是要caching的,但是https的默认值并不是caching的(请注意这些不是官方的 ,而是浏览器的常用function)。 如果您的应用程序依赖于默认行为,并且没有在每个响应中正确设置Cache-Control,那么当您切换到https时,您可能会发现奇怪的事情。