我安装在 15.10 上的 apache2 从本地网段调用时响应良好。http 在外部工作,https 超时。
我花了几天时间检查文档建议的所有内容。Apache 正在监听 443,ufw 允许 443,443 在外部可见,ssllabs.com 确认握手,并且在我的开发机器上一切正常(http 和 https)。我的公司防火墙正确转发 443。此安装应该替换的 Windows 服务器在相同的防火墙规则下运行良好。任何日志中都没有错误。
我下一步应该检查什么?
更新:
事实证明,不支持监听 *:443。详细信息如下这里。不幸的是,修复这些问题并没有修复我的设置。至少现在我收到了错误/信息消息。
[core:trace6] [pid 0] core_filters.c(527): [client 0.0.0.0:0] core_output_filter: flushing because of FLUSH bucket
[ssl:trace3] [pid 0] ssl_engine_kernel.c(1797): [client 0.0.0.0:0] OpenSSL: Loop: unknown state
[ssl:info] [pid 0] (70014)End of file found: [client 0.0.0.0:0] AH01991: SSL input filter read failed.
现在第一个外部 https 请求已得到处理,但后续请求均失败。来自本地网络的请求运行正常。
答案1
请检查以下内容:
- apache 端口文件:监听已在 443 上激活
- apache 活动站点:指向 443(与 :80 不同的虚拟主机)
- 虚拟主机:它必须包含网站的所有别名(localhost、127.0.0.1、yoursitename.com、ecc.)
- Apache 服务器状态:正在运行且活跃
- apache 日志错误:启动时没有错误
- 主机防火墙:443 已打开或无有效防火墙
- 主机密钥:创建并关联到站点的 CA 密钥
- 路由器:端口 443 转发到主机
- 内联网:检查其他正常运行的防火墙
- 任何防火墙:连接来源没有列入黑名单的 IP/域名
- 互联网:尝试跟踪该网站的路由并查看连接时间
- 端口扫描你的外部 IP 为 :443
- 站点连接:必须以“https://”作为前缀
如果检查所有 apache 配置有困难,我建议您在主机上安装 webmin,并通过它来操作服务器配置(以简化管理工作)。
答案2
这原来是 PHP 中的一个静默故障。mcrypt_create_iv
需要将随机源设置为MCRYPT_DEV_RANDOM
。
我没有时间弄清楚为什么没有错误消息,以及为什么服务器在本地网段上运行良好。我在运行裸机的测试服务器上发现了这个问题。
我做的测试太少,无法确认这与 LXC 有关。不要完全相信这个答案。