我在 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 新手,使用 haproxy 1.8,遇到这样的情况:我有 2 个 aws API 网关指向同一个代理服务器,并且 api 网关本身生成的 2 个客户端证书为每个网关分配了一个证书。
现在我有一个 haproxy 服务器,我正在尝试将其配置为仅允许从这 2 个 api 网关进行访问。
当我仅针对 api 网关执行此操作时,这意味着我仅将 ca 文件设置为包含 1 个客户端证书的文件,它按预期工作正常,但我不知道如何设置允许的两个客户端证书。
所以我设置了这些文件:
当我像下面这样为客户端证书绑定 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
我正在使用一个使用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路由.
我真的很感激有关如何实现这一目标的一些详细指示.我也完全接受其他解决方案.
我正在尝试匹配以下网址:/ rivers/1,/ rivers/2adsfs,/ rivers/sdfd2d:
acl rivers_show path_reg ^/rivers/\w+/?
Run Code Online (Sandbox Code Playgroud)
但这确实有效.谁知道为什么?
我试图使用新的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)
然后,新制作目标,新前缀及其作品.
嗨,我正在使用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) 我刚刚在可扩展的PHP盒式磁带上将我的Wordpress网站移动到OpenShift PAAS生态系统上.但我立即注意到网站响应速度很慢 - 大约3000/4000毫秒.但是,当它开始响应时,页面加载/渲染绝对快速.
这是网址:http://gabrielebaldassarre.com
为了给您一个比较,这个静态网站托管在同一个AWS区域:http://extras.gabrielebaldassarre.com/tos5-4
出于这个原因,我将这个瓶颈指向我使用的名称服务器(来自Cloudflare,因为裸CNAME的需求),但是使用在线测试器,它们似乎没问题.
我不会说我的Wordpress是一个香草配置,但它毕竟不是一个猛犸象.响应开始后的加载时间没问题.
我想知道HAProxy或我的OpenShift配置是否有问题,但我不知道如何检查或做什么.
任何的想法?
请不要在我检查的任何地方询问.这就是我所做的.我能够部署单个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无法加载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 …
除了我们正在收到的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)