我正在尝试通过子域名访问我的 Webminhttps://webmin.example.com/
我正在使用 Cloudflare DNS 和 Cloudflare SSL 认证。
每当我输入上述 URL 时,它就会自动变成http://webmin.example.com/
这指向一个不存在的页面,因为我只设置了一个 443 虚拟主机。我尝试在虚拟主机中设置默认的 80 端口,它代理 webmin,但同样没有 HTTPS。(Webmin 不允许纯 HTTP 登录)
请记住,我想要使用 SSL,禁用它是不可取的。
这是我的.conf:
<VirtualHost *:443>
ServerName webmin.example.com
ServerAdmin [email protected]
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/origin.crt
SSLCertificateKeyFile /etc/apache2/ssl/private.key
SSLProxyEngine On
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / https://127.0.0.1:10000/
ProxyPassReverse / https://127.0.0.1:10000/
</VirtualHost>
- 我已经启用了 SSL 和代理所需的所有 apache2 模块。
- 我的 Cloudflare 面板中拥有正确的 DNS 和设置。
apachectl configtest
返回Syntax OK
尝试通过配置中的 SSL=0 禁用 webmin SSL。然后我创建了一个端口为 80 的虚拟主机,重定向到https://webmin.example.com/。当我加载 URL 时,Clouflare 显示 BAD GATEWAY,然后立即更改为 SSL 握手失败。
Apache 日志:
[2016 年 6 月 26 日星期日 02:02:07.591050] [proxy_http:error] [pid 29290](103)软件导致连接中止:[客户端...:56309] AH01102:从远程服务器 127.0.0.1:10000 读取状态行时出错
[2016 年 6 月 26 日星期日 02:02:07.591253] [代理:错误] [pid 29290] [客户端....:56309] AH00898:从远程服务器读取时出错,返回者为 /
答案1
在 CloudFlare 仪表板中,你需要确保使用使用完整 SSL 代替灵活 SSL如果没有,您可以按照问题评论中的建议,为 Webmin 设置 SSL=0 来解决此问题。
考虑安装Apache 上的 Mod_CloudFlare这意味着 Apache 可以与 CloudFlare 顺利协作(尊重 SSL 标头等)。
完整 SSL 确保端到端连接通过 SSL 进行: