On Thu, Aug 3, 2017 at 9:01 AM, Philipp Zeitschel <[email protected]> wrote:
> Hi,
>
>
>
> i have haproxy 1.7.8 @Ubuntu 16.04 up and running.
>
> Outlook Webaccess and the Administration Panel are working fine but I can’t
> get Outlook to work, it repeatly asks for credentials (it is working if I
> try it directly without the loadbalancer).
>
> Microsofts Connectivity Analyzer tells:
>
> Testing HTTP Authentication Methods for URL
> https://xxx/rpc/rpcproxy.dll?xxx:6002.
>
>                The HTTP authentication methods are correct.
>
>
>
>                 Additional Details
>
>
>
> The Microsoft Connectivity Analyzer found all expected authentication
> methods and no disallowed methods. Methods found: Basic, Negotiate, NTLM
>
> HTTP Response Headers:
>
> request-id: b57cf3ce-4d29-4a15-9246-7527db63bea1
>
> Server: Microsoft-IIS/8.5
>
> WWW-Authenticate: Negotiate,NTLM,Basic realm="xxx"
>
> Date: Thu, 03 Aug 2017 07:57:54 GMT
>
> Content-Length: 0
>
> Elapsed Time: 1502 ms.
>
>
>
>
>
> Attempting to ping RPC proxy xxx.
>
>                RPC Proxy can't be pinged.
>
>
>
>                 Additional Details
>
>
>
> An unexpected network-level exception was encountered.
>
>
>
> This is the log output of haproxy:
>
> Aug  3 09:50:51 localhost haproxy[1880]: 13.67.59.89:14546
> [03/Aug/2017:09:50:50.774] ft_exch~ oa/exch02 377/0/9/4/390 401 269 - - ----
> 1/1/0/1/0 0/0 {xxx|MSRPC} {0} {TLSv1.2/ECDHE-RSA-AES256-SHA384/xxx/-}
> RPC_IN_DATA xxx/rpc/rpcproxy.dll HTTP/1.1
>
> Aug  3 09:50:51 localhost haproxy[1880]: 13.67.59.89:14547
> [03/Aug/2017:09:50:51.519] ft_exch~ oa/exch02 176/0/7/5/188 401 269 - - ----
> 2/2/0/1/0 0/0 {xxx|MSRPC} {0} {TLSv1/ECDHE-RSA-AES256-SHA/xxx/-} RPC_IN_DATA
> xxx/rpc/rpcproxy.dll?xxx:6002 HTTP/1.1
>
> Aug  3 09:50:51 localhost haproxy[1880]: 13.67.59.89:14547
> [03/Aug/2017:09:50:51.708] ft_exch~ oa/exch02 175/0/0/4/180 401 269 - - ----
> 2/2/0/1/0 0/0 {xxx|MSRPC} {0} {TLSv1/ECDHE-RSA-AES256-SHA/xxx/-} RPC_IN_DATA
> xxx/Rpc/RpcProxy.dll?xxx:6001 HTTP/1.1
>
> Aug  3 09:50:52 localhost haproxy[1880]: 13.67.59.89:14549
> [03/Aug/2017:09:50:52.239] ft_exch~ oa/exch02 182/0/7/4/193 401 582 - - ----
> 3/3/0/1/0 0/0 {xxx|MSRPC} {0} {TLSv1/ECDHE-RSA-AES256-SHA/xxx/-} RPC_IN_DATA
> xxx/Rpc/RpcProxy.dll?xxx:6001 HTTP/1.1
>
> Aug  3 09:50:52 localhost haproxy[1880]: 13.67.59.89:14549
> [03/Aug/2017:09:50:52.433] ft_exch~ oa/exch02 177/0/0/169/346 404 282 - -
> ---- 3/3/0/1/0 0/0 {xxx|MSRPC} {0} {TLSv1/ECDHE-RSA-AES256-SHA/xxx/-}
> RPC_IN_DATA xxx/Rpc/RpcProxy.dll?xxx:6001 HTTP/1.1
>
>
>
> Firewall is deaktivated
>
>
>
> And this is my configuration:
>
> global
>
>     log 127.0.0.1 local0 debug
>
>     log /var/lib/haproxy/dev/log    local0 debug
>
>     log /var/lib/haproxy/dev/log    local1 notice
>
>
>
>     chroot /var/lib/haproxy
>
>     stats socket /run/haproxy/admin.sock mode 660 level admin
>
>     stats timeout 30s
>
>     user haproxy
>
>     group haproxy
>
>     daemon
>
>     ssl-server-verify none
>
>     # Default SSL material locations
>
>     #ca-base /etc/ssl/certs
>
>     #crt-base /etc/ssl/private
>
>     crt-base /etc/ssl/ca/certs
>
>     ca-base /etc/ssl/ca/intermediate/certs
>
>
>
>
>
>     # Default ciphers to use on SSL-enabled listening sockets.
>
>     # For more information, see ciphers(1SSL). This list is from:
>
>     #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
>
>     ssl-default-bind-ciphers
> ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
>
>     ssl-default-bind-options no-sslv3
>
>     tune.ssl.default-dh-param 2048
>
>
>
> defaults
>
>     log     global
>
>     mode    http
>
>     option  httplog
>
>     option  dontlognull
>
>     option http-keep-alive
>
>     option prefer-last-server
>
>     option forwardfor
>
>     option http-server-close
>
>     no option httpclose
>
>     no option forceclose
>
>     no option http-tunnel
>
>     balance leastconn
>
>     default-server inter 3s rise 2 fall 3
>
>     timeout client 600s
>
>     timeout http-request 10s
>
>     timeout connect 4s
>
>     timeout server 60s
>
>     errorfile 400 /etc/haproxy/errors/400.http
>
>     errorfile 403 /etc/haproxy/errors/403.http
>
>     errorfile 408 /etc/haproxy/errors/408.http
>
>     errorfile 500 /etc/haproxy/errors/500.http
>
>     errorfile 502 /etc/haproxy/errors/502.http
>
>     errorfile 503 /etc/haproxy/errors/503.http
>
>     errorfile 504 /etc/haproxy/errors/504.http
>
>
>
> frontend ft_exch
>
>     bind 0.0.0.0:443 name https ssl crt /etc/ssl/z/bundle.pem no-sslv3
>
>     capture request header Host len 32
>
>     capture request header User-Agent len 64
>
>     capture response header Content-Length len 10
>
>     log /var/lib/haproxy/dev/log local4 debug
>
>     log-format %ci:%cp\ [%t]\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ST\ %B\ %CC\
> %CS\ %tsc\ %ac/%fc/%bc/%sc/%rc\ %sq/%bq\ %hr\ %hs\
> {%sslv/%sslc/%[ssl_fc_sni]/%[ss
> l_fc_session_id]}\ "%[capture.req.method]\
> %[capture.req.hdr(0)]%[capture.req.uri]\ HTTP/1.1"
>
>     option http-keep-alive
>
>     option socket-stats
>
>     stats uri /haproxy?stats
>
>     stats realm Strictly\ Private
>
>     stats auth admin:xxx
>
>
>
>     maxconn 1000
>
>     acl ssl_connection ssl_fc
>
>     acl host_mail hdr(Host) -i xxx
>
>     acl path_slash path /
>
>     acl path_autodiscover path_beg -i /Autodiscover/Autodiscover.xml
>
>     acl path_activesync path_beg -i /Microsoft-Server-ActiveSync
>
>     acl path_ews path_beg -i /ews/
>
>     acl path_owa path_beg -i /owa/
>
>     acl path_oa path_beg -i /rpc/rpcproxy.dll
>
>     acl path_ecp path_beg -i /ecp/
>
>     acl path_oab path_beg -i /oab/
>
>     acl path_mapi path_beg -i /mapi/
>
>     acl path_check path_end -i HealthCheck.htm
>
>     http-request deny if path_check
>
>     http-request redirect scheme https code 302 unless ssl_connection
>
>     http-request redirect location /owa/ code 302 if path_slash host_mail
>
>     use_backend autodiscover if path_autodiscover
>
>     use_backend activesync if path_activesync
>
>     use_backend ews if path_ews
>
>     use_backend owa if path_owa
>
>     use_backend oa if path_oa
>
>     use_backend ecp if path_ecp
>
>     use_backend oab if path_oab
>
>     use_backend mapi if path_mapi
>
>     default_backend default
>
>
>
> backend activesync
>
>     option httpchk GET /Microsoft-Server-ActiveSync/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend autodiscover
>
>     option httpchk GET /Autodiscover/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend ecp
>
>     option httpchk GET /ECP/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend ews
>
>     option httpchk GET /EWS/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend mapi
>
>     balance source
>
>     option httpchk GET /mapi/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     option http-keep-alive
>
>     option prefer-last-server
>
>     timeout server 600s
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend oab
>
>     option httpchk GET /OAB/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend oa
>
>     balance source
>
>     option httpchk GET /RPC/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     option http-keep-alive
>
>     option prefer-last-server
>
>     timeout server 600s
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend owa
>
>     option httpchk GET /owa/HealthCheck.htm
>
>     http-check expect string 200\ OK
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> backend default
>
>     timeout server 60s
>
>     server exch01 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>     server exch02 xxx:443 ssl verify none maxconn 1000 weight 10 check
>
>
>
>
>
> hope someone can help I’m googling and experimenting for weeks now but it
> seems like everybody is using Exchange 2013 and that people that are telling
> they have a working configuration won’t post it.
>


As a basic troubleshooting step, I would suggest trying a simplified
config with just a default section single backend with either
different weights for the two servers, or just a single backend.

Cheers

Reply via email to