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.

Thanks in advance

Regards

Philipp

Reply via email to