使用 Haproxy 的 SSL 终止设置时 Apache 的 SSL 模式?

使用 Haproxy 的 SSL 终止设置时 Apache 的 SSL 模式?

a2dismod ssl我们是否必须使用上述设置的命令禁用 Apache 的 ssl 模式,因为在启动 haproxy 时它会抱怨端口443 is already being used

答案1

如果我理解正确的话,那么您有一台运行 apache 和 haproxy 的服务器。现在 apache 报告错误already being used?所以这意味着两者都尝试使用 433 端口。

所以是的,您可以(并且需要)禁用 ssl 模块和/或停用listen XXX:443配置行。

答案2

同步有正确答案。正如这篇文章所示在同一台服务器上运行 Apache、Nginx 和 HAProxy(Debian、Ubuntu、CentOS)

这个想法是让你的 apache 服务器在本地监听,这样端口就可以开放,以供 haproxy 公开监听。

(略作修改,因为这里我们只处理 haproxy 和 apache)

编辑 /etc/apache2/ports.conf 文件。

改变

Listen 80
Listen 443

Listen 127.0.0.1:80
Listen 127.0.0.1:443

然后你的站点配置也在 sites-available 中

<VirtualHost *:80>

<VirtualHost 127.0.0.1:80>

如果有 SSL 虚拟主机,则也更改

<VirtualHost *:443>

<VirtualHost 127.0.0.1:443>

重新启动 Apache。

现在配置 haproxy(从全新安装开始)

nano /etc/haproxy/haproxy.cfg

在文件末尾添加以下代码片段

frontend http
    bind publicipaddress:80
    mode http
    redirect scheme https code 301

frontend https
    bind publicipaddress:443
    mode tcp
    tcp-request inspect-delay 5s
    tcp-request content accept if { req_ssl_hello_type 1 }

backend apache
    mode tcp
    option ssl-hello-chk
    server apache 127.0.0.1:443 check

相关内容