标签: haproxy

SSL 警报编号 48:未知 CA,即使 openssl verify 返回 OK

我在 haproxy 上面临 TLS 双重身份验证的问题,我的根 CA 和中间 CA 一次连接在一起,我的客户端证书正常,并且 openssl 验证返回 OK(根据 CA 验证客户端证书)

openssl verify -CAfile ca_cert.pem clientcert.crt
OK
Run Code Online (Sandbox Code Playgroud)

我在 haproxy 上的配置:

frontend myfront_77
  bind myip:myport ssl crt /etc/haproxy/ssl/servercert.pem ca-file /etc/haproxy/ssl/ca_cert.pem force-tlsv12 ciphers AES256+EECDH:AES256+EDH:AES256-GCM-SHA384:AES128-GCM-SHA256:AES128-SHA256:AES256-SHA verify required
Run Code Online (Sandbox Code Playgroud)

但是当发送请求时我遇到了这个 ssl 错误:

SSL_connect:error in SSLv3 read finished A SSL3 alert read:fatal:unknown CA SSL_connect:failed in SSLv3 read finished A 140080046843792:error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca:s3_pkt.c:1493:SSL alert number 48
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗,我几天来一直被这个问题搞得心烦意乱?

ssl ca haproxy client-certificates

5
推荐指数
1
解决办法
9187
查看次数

Haproxy 具有多个 CA 配置

这里是 SSL 新手,使用 haproxy 1.8,遇到这样的情况:我有 2 个 aws API 网关指向同一个代理服务器,并且 api 网关本身生成的 2 个客户端证书为每个网关分配了一个证书。

现在我有一个 haproxy 服务器,我正在尝试将其配置为仅允许从这 2 个 api 网关进行访问。

当我仅针对 api 网关执行此操作时,这意味着我仅将 ca 文件设置为包含 1 个客户端证书的文件,它按预期工作正常,但我不知道如何设置允许的两个客户端证书。

所以我设置了这些文件:

  • haproxy.pem其中包含
    • 服务器证书由godaddy颁发
    • 私钥
    • 去爸爸证书
  • api-gw.pem从 api 网关复制的第一个客户端证书
  • api-gw2.pem从 api 网关复制的第二个客户端证书
  • client-certs.crt是api-gw.pemapi-gw2.pem的串联版本

当我像下面这样为客户端证书绑定 ssl 时,它工作得很好:

bind :443 ssl crt /etc/haproxy/haproxy.pem verify required ca-file /etc/haproxy/api-gw.pem
Run Code Online (Sandbox Code Playgroud)

或者

bind :443 ssl crt /etc/haproxy/haproxy.pem verify required ca-file /etc/haproxy/api-gw2.pem
Run Code Online (Sandbox Code Playgroud)

对于上面的每个绑定,只有正确的 api 网关可以访问代理,而另一个则不能。

但是当我执行以下操作以允许两者访问代理服务器时,它只允许第一个客户端证书,即使该文件包含两者:

bind :443 ssl crt /etc/haproxy/haproxy.pem verify required …
Run Code Online (Sandbox Code Playgroud)

ssl haproxy ssl-certificate amazon-web-services aws-api-gateway

5
推荐指数
1
解决办法
2647
查看次数

使用HAProxy负载平衡与Tornado应用程序的WebSocket连接?

我正在使用一个使用websocket处理程序的Tornado应用程序.我正在使用Supervisord运行应用程序的多个实例,但是我无法平衡websocket连接.

我知道nginx不支持处理开箱即用的websockets,但我按照http://www.letseehere.com/reverse-proxy-web-sockets中的说明使用nginx tcp_proxy模块来反转代理websocket连接.但是,这不起作用,因为模块无法路由websocket url(例如:ws:// localhost:80/something).所以它不适用于我在Tornado应用程序中定义的URL路由.

从我对网络的研究来看,似乎HAProxy是对我的websocket连接进行负载均衡的方法.但是,我很难找到任何体面的指导来设置HAProxy来加载平衡websocket连接,并且还能够处理websocket URL路由.

我真的很感激有关如何实现这一目标的一些详细指示.我也完全接受其他解决方案.

proxy nginx tornado haproxy websocket

4
推荐指数
1
解决办法
4344
查看次数

使用path_reg匹配haproxy路径

我正在尝试匹配以下网址:/ rivers/1,/ rivers/2adsfs,/ rivers/sdfd2d:

  acl rivers_show   path_reg ^/rivers/\w+/?
Run Code Online (Sandbox Code Playgroud)

但这确实有效.谁知道为什么?

regex haproxy

4
推荐指数
1
解决办法
1万
查看次数

使用SSL的Haproxy不起作用

我试图使用新的haproxy与ssl(1.5-dev12).但是这个新功能出错了.

我已安装:

make TARGET=linux2632 USE_OPENSSL=yes
make PREFIX=/opt/haproxy-ssl install
Run Code Online (Sandbox Code Playgroud)

但是当我检查配置文件时,我发现了这个错误:

[ALERT] 275/135959(10998):解析[/opt/haproxy-ssl/haproxy.conf:31]:'bind':'ssl'选项未实现.[ALERT] 275/135959(10998):解析[/opt/haproxy-ssl/haproxy.conf:69]:'server'期望和[:]作为参数.[ALERT] 275/135959(10998):在配置文件中找到错误:/opt/haproxy-ssl/haproxy.conf [警告] 275/135959(10998):代理'ha_stats':在多进程模式下,统计数据将仅限于分配给当前请求的流程.[WARNING] 275/135959(10998):stats套接字在多进程模式下无法正常工作(nbproc> 1).[ALERT] 275/135959(10998):配置中发现致命错误.

并且haproxy -vv命令返回:

HA-Proxy版本1.5-dev12 2012/09/10在没有OpenSSL支持的情况下构建(未设置USE_OPENSSL)

我不明白为什么openssl没有设置虽然我在安装过程中没有任何错误.

操作系统:Debian 2.6.32-5-xen-amd64 OPENSSL:OpenSSL 0.9.8o 2010年6月1日

你有好主意吗?

谢谢

更新:

解决了安装:

libssl-dev
Run Code Online (Sandbox Code Playgroud)

然后,新制作目标,新前缀及其作品.

ssl haproxy

4
推荐指数
1
解决办法
4852
查看次数

haproxy https健康检查

嗨,我正在使用haproxy来平衡我的https连接.我想做积极的健康检查但是它们似乎不起作用.有关如何正确编写以下内容的任何提示都将受到欢迎.我让他们正常工作的HTTP端口80连接.

frontend incoming_https
  bind *:443
  mode tcp
  default_backend web_https

backend web_https
    mode tcp
    option httpchk GET / HTTP/1.1\r\nHost:\ https://www.mysite.com
    server web-0 xxx.xxx.xxx.xxx:443 check inter 5000 port 443
Run Code Online (Sandbox Code Playgroud)

load-balancing haproxy

4
推荐指数
1
解决办法
8788
查看次数

在Openshift上使用Wordpress,响应速度很慢

我刚刚在可扩展的PHP盒式磁带上将我的Wordpress网站移动到OpenShift PAAS生态系统上.但我立即注意到网站响应速度很慢 - 大约3000/4000毫秒.但是,当它开始响应时,页面加载/渲染绝对快速.

这是网址:http://gabrielebaldassarre.com

为了给您一个比较,这个静态网站托管在同一个AWS区域:http://extras.gabrielebaldassarre.com/tos5-4

出于这个原因,我将这个瓶颈指向我使用的名称服务器(来自Cloudflare,因为裸CNAME的需求),但是使用在线测试器,它们似乎没问题.

我不会说我的Wordpress是一个香草配置,但它毕竟不是一个猛犸象.响应开始后的加载时间没问题.

我想知道HAProxy或我的OpenShift配置是否有问题,但我不知道如何检查或做什么.

任何的想法?

wordpress haproxy openshift

4
推荐指数
1
解决办法
2238
查看次数

HaProxy用于marathon mesos docker链接容器上的服务发现

请不要在我检查的任何地方询问.这就是我所做的.我能够部署单个mesos,marathon和docker实例.向前迈出下一步我希望有2个mesos slave(docker containers)相互链接.只需使用docker,就可以使用docker链接功能实现相同功能.但是在使用业务流程(mesos)和调度程序(marathon)时,您似乎需要使用服务发现.

我的设置很简单,可以在一台主机上运行.所以我将有2个docker容器,一个运行一个简单的pub/sub和一个运行rabbitmq.如何在此设置中使用HA PRoxy.我看过mesosphere http://mesosphere.com/docs/getting-started/service-discovery/提供的一些文件, 但目前尚不清楚如何去做.

haproxy marathon docker mesos mesosphere

4
推荐指数
1
解决办法
4236
查看次数

为什么HAProxy无法加载letsencrypt生成的证书?

HAProxy无法加载letsencrypt生成的.pem文件,为什么会这样?

我看到的错误是:

parsing [/haproxy.cfg:37] : 'bind :443' : unable to load SSL private key from PEM file '/certs/cert0.pem'.

PEM文件的内容是:

-----BEGIN CERTIFICATE----- MIIFCjCCA/KgAwIBAgISATGh2D5ZMcKNqpIqViwd5EZOMA0GCSqGSIb3DQEBCwUA MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMTAeFw0xNTEyMTcwOTIyMDBaFw0x NjAzMTYwOTIyMDBaMB4xHDAaBgNVBAMTE3N0YWdpbmcubXV6aGFjay5jb20wggEi MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrV1XqamfHm6tbDYAbnbjRxBw8 pxM/wPdO9RLUk5EmPnYy0XmPrbge93M5hh4qzMA7IGRxRa4xXjmj2nl4y6oLmRzF nqHRBznh0D3u27dOmxk9vgWEGFO423T4W4DW5T6ukw+i2V5zxdtiu9tP7s8qsN7P IxKQ8tPx8NB0PYXTg+DWhPQMZkX3Q63YEJrl6pR1kQ+shOg1WRw08/gfl8YCH0bj AtbSPwwSNzNVylgA2IZX6mTrBYnbXJ5N63Ee/p1e+vw9fqxha4B4qPpNoByvgR27 cIGFjEoBzeS76awPzBnZLWNaVqM3E0YL9riQnAAgYPrqBIofV65GELBjwVRFAgMB AAGjggIUMIICEDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEG CCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFC5MVU7RKuD07ZwP6kGT 49qPO2tFMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMHAGCCsGAQUF BwEBBGQwYjAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AuaW50LXgxLmxldHNlbmNy eXB0Lm9yZy8wLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14MS5sZXRzZW5j cnlwdC5vcmcvMB4GA1UdEQQXMBWCE3N0YWdpbmcubXV6aGFjay5jb20wgf4GA1Ud IASB9jCB8zAIBgZngQwBAgEwgeYGCysGAQQBgt8TAQEBMIHWMCYGCCsGAQUFBwIB FhpodHRwOi8vY3BzLmxldHNlbmNyeXB0Lm9yZzCBqwYIKwYBBQUHAgIwgZ4MgZtU aGlzIENlcnRpZmljYXRlIG1heSBvbmx5IGJlIHJlbGllZCB1cG9uIGJ5IFJlbHlp bmcgUGFydGllcyBhbmQgb25seSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENlcnRp ZmljYXRlIFBvbGljeSBmb3VuZCBhdCBodHRwczovL2xldHNlbmNyeXB0Lm9yZy9y ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAmcF6jtx6QWAOQtRLhnuDyViJ 9ISP2mw8Ueq5p3L/oBMebCAjS1qv7bCcHP5RyeaqsGrHclpv090JY44rCppj5oOh OFzzsNqZ5dwLp8vNbPls1Y7ohThVxk5PfMGpfkDwpuZGxUkizB7qQtknjBr6lX2B XX2/IknJnABU2ssh2q77aqeVkHYVWXYG8iNMETUcIys1/Mb7X/FdL1DGRhkS1kN0 geL/+e7pmusHijkSoOP7IXFgTfcnw1DiIPctXmH2/ETcQ5deWVTgOpCTBk0M1+d2 oFFNaePdQXk4iRYlJNrswoZCSgdqqUybvEcJDKvL+ogi6GwZpJCIn/Rc2PWhGQ== -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIEqDCCA5CgAwIBAgIRAJgT9HUT5XULQ+dDHpceRL0wDQYJKoZIhvcNAQELBQAw PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD Ew5EU1QgUm9vdCBDQSBYMzAeFw0xNTEwMTkyMjMzMzZaFw0yMDEwMTkyMjMzMzZa MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMTCCASIwDQYJKoZIhvcNAQEBBQAD ggEPADCCAQoCggEBAJzTDPBa5S5Ht3JdN4OzaGMw6tc1Jhkl4b2+NfFwki+3uEtB BaupnjUIWOyxKsRohwuj43Xk5vOnYnG6eYFgH9eRmp/z0HhncchpDpWRz/7mmelg PEjMfspNdxIknUcbWuu57B43ABycrHunBerOSuu9QeU2mLnL/W08lmjfIypCkAyG dGfIf6WauFJhFBM/ZemCh8vb+g5W9oaJ84U/l4avsNwa72sNlRZ9xCugZbKZBDZ1 gGusSvMbkEl4L6KWTyogJSkExnTA0DHNjzE4lRa6qDO4Q/GxH8Mwf6J5MRM9LTb4 4/zyM2q5OTHFr8SNDR1kFjOq+oQpttQLwNh9w5MCAwEAAaOCAZIwggGOMBIGA1Ud EwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMH8GCCsGAQUFBwEBBHMwcTAy BggrBgEFBQcwAYYmaHR0cDovL2lzcmcudHJ1c3RpZC5vY3NwLmlkZW50cnVzdC5j b20wOwYIKwYBBQUHMAKGL2h0dHA6Ly9hcHBzLmlkZW50cnVzdC5jb20vcm9vdHMv ZHN0cm9vdGNheDMucDdjMB8GA1UdIwQYMBaAFMSnsaR7LHH62+FLkHX/xBVghYkQ MFQGA1UdIARNMEswCAYGZ4EMAQIBMD8GCysGAQQBgt8TAQEBMDAwLgYIKwYBBQUH AgEWImh0dHA6Ly9jcHMucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcwPAYDVR0fBDUw MzAxoC+gLYYraHR0cDovL2NybC5pZGVudHJ1c3QuY29tL0RTVFJPT1RDQVgzQ1JM LmNybDATBgNVHR4EDDAKoQgwBoIELm1pbDAdBgNVHQ4EFgQUqEpqYwR93brm0Tm3 pkVl7/Oo7KEwDQYJKoZIhvcNAQELBQADggEBANHIIkus7+MJiZZQsY14cCoBG1hd v0J20/FyWo5ppnfjL78S2k4s2GLRJ7iD9ZDKErndvbNFGcsW+9kKK/TnY21hp4Dd ITv8S9ZYQ7oaoqs7HwhEMY9sibED4aXw09xrJZTC9zK1uIfW6t5dHQjuOWv+HHoW ZnupyxpsEUlEaFb+/SCI4KCSBdAsYxAcsHYI5xxEI4LutHp6s3OT2FuO90WfdsIk 6q78OMSdn875bNjdBYAqxUp2/LEIHfDBkLoQz0hFJmwAbYahqKaLn73PAAm1X2kj f1w8DdnkabOLGeOVcj9LQ+s67vBykx4anTjURkbqZslUEUsn2k5xeua2zUk= -----END …

haproxy ssl-certificate lets-encrypt

4
推荐指数
1
解决办法
2574
查看次数

haproxy 504超时到Apache

除了我们正在收到的504问题之外,haproxy还是很喜欢它。相关的日志输出为:

Jun 21 13:52:06 localhost haproxy[1431]: 192.168.0.2:51435 [21/Jun/2017:13:50:26.740] www-https~ beFootprints/foorprints 0/0/2/-1/100003 504 195 - - sH-- 2/2/0/0/0 0/0 "POST /MRcgi/MRlogin.pl HTTP/1.1"
Jun 21 13:54:26 localhost haproxy[1431]: 192.168.0.2:51447 [21/Jun/2017:13:52:46.577] www-https~ beFootprints/foorprints 0/0/3/-1/100005 504 195 - - sH-- 2/2/0/0/0 0/0 "POST /MRcgi/MRlogin.pl HTTP/1.1"
Jun 21 14:15:57 localhost haproxy[1431]: 192.168.0.1:50225 [21/Jun/2017:14:14:17.771] www-https~ beFootprints/foorprints 0/0/2/-1/100004 504 195 - - sH-- 3/3/0/0/0 0/0 "POST /MRcgi/MRlogin.pl HTTP/1.1"
Jun 21 14:22:26 localhost haproxy[1431]: 192.168.0.1:50258 [21/Jun/2017:14:20:46.608] www-https~ beFootprints/foorprints 0/0/2/-1/100003 504 195 - - sH-- 2/2/0/0/0 0/0 "POST /MRcgi/MRlogin.pl …
Run Code Online (Sandbox Code Playgroud)

apache haproxy

4
推荐指数
1
解决办法
6721
查看次数