apache httpd 2.4 的 Memcached 错误

apache httpd 2.4 的 Memcached 错误

我使用 Apache HTTPD 2.4 和 mod_ssl 版本 2.4.34 创建了一个 EC2 实例。我在 AWS ElastiCache 版本 1.6.17 上创建了一个 Memcached 集群,并在传输过程中进行加密。

目标是让 HTTPD 使用 MemCached 和 TLS 作为 SSLSessionCache。但是,每当收到请求时,服务器都会记录以下内容:

虚拟主机配置文件

...
SSLSessionCache memcache:test-memcache.2dr943.cfg.use1.cache.amazonaws.com:11322
...

ssl_错误日志

Could not find specified socket in poll list.: AH00790: scache_mc: error setting key 'mod_ssl-session:162534f25cf4152836459039d4c99263a346345e9366230f9a00394f593abcab' with 1447 bytes of data

我可以使用 来验证 Memcached 集群是否可访问且是否可以正常运行openssl s_client -connect test-memcache.2dr943.cfg.use1.cache.amazonaws.com:11322

看来 HTTPD 无法连接到正在传输加密的 Memcache 服务。有什么办法可以解决这个问题吗?

答案1

您可以用stunnel它作为代理来加密默认情况下不支持它的工具的流量。

您可以像这样配置 stunnel:

/etc/stunnel/stunnel.conf

foreground = no
[memcache]
client = yes
accept = 127.0.0.1:11322
connect = test-memcache.2dr943.cfg.use1.cache.amazonaws.com:11322
CAfile = /etc/pki/tls/certs/ca-certs-bundle.crt
sslVersion = TLS1.2

然后您可以按如下方式更新您的 httpd memcache 配置:

虚拟主机配置文件

SSLSessionCache memcache:localhost:11322

相关内容