Webmin 通过 apache2 SSL 代理

Webmin 通过 apache2 SSL 代理

我正在尝试通过子域名访问我的 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 进行:

CloudFlare 完整 SSL

相关内容