<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=DE link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>i´m trying to get squid working as reverse Proxy for Exchange 2016.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Actually  it works quite smooth for OWA but fails again and again when trying to connecto to the EAS Site of my Exchange.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>From the IIS-Logs of the mailserver i can see 401 replys two or three times and then squid sends the user credentials which results in a 200 message.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>When using EAS the connect (from Exchange remote connectivty analyzer) connects to the autodiscover site first – which produces about three 401´s and then to the eas-site – again about two or three 401´s.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Most times after the 5th 401 reply (not authenticated) squid cuts off the Connection – is there any way to push squid to do more retries after a 401 error?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Here´s my IIS-Log:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2016-02-10 13:18:56 10.89.5.3 OPTIONS /Autodiscover/Autodiscover.xml &CorrelationID=<empty>;&ClientId=PBUQLXUG4EOZTNG08F3BGG&cafeReqId=f7e3c699-96b5-4e79-8a54-03334a9fe7fe; 443 - 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 401 0 0 78</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2016-02-10 13:18:56 10.89.5.3 POST /Autodiscover/Autodiscover.xml &CorrelationID=<empty>;&ClientId=LBQ9QZKE0YCFS3BZUOYG&cafeReqId=392f5e78-5272-4ed1-a062-c1706e341dbf; 443 - 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 401 0 0 0</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2016-02-10 13:19:04 10.89.5.3 POST /Autodiscover/Autodiscover.xml &CorrelationID=<empty>;&ClientId=XTSRHRKWV0ETDZKCRLXO6W&cafeReqId=684a8948-eeb9-401f-a9bf-61d2581f138f; 443 DOMAIN\test 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 200 0 0 7515</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>2016-02-10 13:19:05 10.89.5.3 OPTIONS /Microsoft-Server-ActiveSync/default.eas &CorrelationID=<empty>;&ClientId=POVVU5U8Z0SDIKZWQEPRNA&cafeReqId=109adc1a-93f9-4491-aadc-b615e5b7c36a; 443 - 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 401 2 5 0</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Line 390924: 2016-02-10 13:19:07 10.89.5.3 OPTIONS /Microsoft-Server-ActiveSync/default.eas &CorrelationID=<empty>;&ClientId=YDXPIAVIDEYCERPKPSRQ&cafeReqId=402020a7-2bd9-4540-9050-b6dd9e34a136; 443 - 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 401 2 5 124</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Line 390929: 2016-02-10 13:19:07 10.89.5.3 OPTIONS /Microsoft-Server-ActiveSync/default.eas &CorrelationID=<empty>;&ClientId=PTIZMVB6NUOH1AJ1MGWWA&cafeReqId=2b329cfa-a318-4102-bb5c-3a7652e84d5d; 443 DOMAIN\test 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 200 0 0 390</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Line 390934: 2016-02-10 13:19:07 10.89.5.3 POST /Microsoft-Server-ActiveSync/default.eas Cmd=FolderSync&User=test&DeviceId=1797657923&DeviceType=TestActiveSyncConnectivity&CorrelationID=<empty>;&ClientId=QC284CQDGK2JMD9TA6X6G&cafeReqId=d9ceafa7-9767-4552-bb34-2444c6435a10; 443 - 10.89.5.248 Microsoft-Server-ActiveSync/12.0+(TestExchangeConnectivity.com) - 401 2 5 0</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>And here´s my Squid.conf:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># This file is automatically generated by pfSense</p><p class=MsoNormal># Do not edit manually !</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>icp_port 0</p><p class=MsoNormal>dns_v4_first on</p><p class=MsoNormal>pid_filename /var/run/squid/squid.pid</p><p class=MsoNormal>cache_effective_user proxy</p><p class=MsoNormal>cache_effective_group proxy</p><p class=MsoNormal>error_default_language en</p><p class=MsoNormal>icon_directory /usr/pbi/squid-amd64/local/etc/squid/icons</p><p class=MsoNormal>visible_hostname localhost</p><p class=MsoNormal>cache_mgr admin@localhost</p><p class=MsoNormal>access_log /var/squid/logs/access.log</p><p class=MsoNormal>cache_log /var/squid/logs/cache.log</p><p class=MsoNormal>cache_store_log none</p><p class=MsoNormal>netdb_filename /var/squid/logs/netdb.state</p><p class=MsoNormal>pinger_enable on</p><p class=MsoNormal>pinger_program /usr/pbi/squid-amd64/local/libexec/squid/pinger</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>logfile_rotate 10</p><p class=MsoNormal>debug_options rotate=10</p><p class=MsoNormal>shutdown_lifetime 3 seconds</p><p class=MsoNormal>forwarded_for on</p><p class=MsoNormal>uri_whitespace strip</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>acl dynamic urlpath_regex cgi-bin \?</p><p class=MsoNormal>cache deny dynamic</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>cache_mem 64 MB</p><p class=MsoNormal>maximum_object_size_in_memory 256 KB</p><p class=MsoNormal>memory_replacement_policy heap GDSF</p><p class=MsoNormal>cache_replacement_policy heap LFUDA</p><p class=MsoNormal>minimum_object_size 0 KB</p><p class=MsoNormal>maximum_object_size 4 MB</p><p class=MsoNormal>cache_dir ufs /var/squid/cache 100 16 256</p><p class=MsoNormal>offline_mode off</p><p class=MsoNormal>cache_swap_low 90</p><p class=MsoNormal>cache_swap_high 95</p><p class=MsoNormal>cache allow all</p><p class=MsoNormal># Add any of your own refresh_pattern entries above these.</p><p class=MsoNormal>refresh_pattern ^ftp:    1440  20%  10080</p><p class=MsoNormal>refresh_pattern ^gopher:  1440  0%  1440</p><p class=MsoNormal>refresh_pattern -i (/cgi-bin/|\?) 0  0%  0</p><p class=MsoNormal>refresh_pattern .    0  20%  4320</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#Remote proxies</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Setup some default acls</p><p class=MsoNormal># From 3.2 further configuration cleanups have been done to make things easier and safer. The manager, localhost, and to_localhost ACL definitions are now built-in.</p><p class=MsoNormal># acl localhost src 127.0.0.1/32</p><p class=MsoNormal>acl allsrc src all</p><p class=MsoNormal>acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 8080   1025-65535 </p><p class=MsoNormal>acl sslports port 443 563 8080 </p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># From 3.2 further configuration cleanups have been done to make things easier and safer. The manager, localhost, and to_localhost ACL definitions are now built-in.</p><p class=MsoNormal>#acl manager proto cache_object</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>acl purge method PURGE</p><p class=MsoNormal>acl connect method CONNECT</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Define protocols used for redirects</p><p class=MsoNormal>acl HTTP proto HTTP</p><p class=MsoNormal>acl HTTPS proto HTTPS</p><p class=MsoNormal>http_access allow manager localhost</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>http_access deny manager</p><p class=MsoNormal>http_access allow purge localhost</p><p class=MsoNormal>http_access deny purge</p><p class=MsoNormal>http_access deny !safeports</p><p class=MsoNormal>http_access deny CONNECT !sslports</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Always allow localhost connections</p><p class=MsoNormal># From 3.2 further configuration cleanups have been done to make things easier and safer.</p><p class=MsoNormal># The manager, localhost, and to_localhost ACL definitions are now built-in.</p><p class=MsoNormal># http_access allow localhost</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>request_body_max_size 0 KB</p><p class=MsoNormal>delay_pools 1</p><p class=MsoNormal>delay_class 1 2</p><p class=MsoNormal>delay_parameters 1 -1/-1 -1/-1</p><p class=MsoNormal>delay_initial_bucket_level 100</p><p class=MsoNormal>delay_access 1 allow allsrc</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Reverse Proxy settings</p><p class=MsoNormal>http_port 10.0.0.3:80 accel defaultsite=mail.DOMAIN.de vhost</p><p class=MsoNormal>https_port 10.0.0.3:443 accel cert=/usr/pbi/squid-amd64/local/etc/squid/56b21e54ee18f.crt key=/usr/pbi/squid-amd64/local/etc/squid/56b21e54ee18f.key  defaultsite=mail.DOMAIN.de vhost</p><p class=MsoNormal>cache_peer 10.89.5.3 parent 443 0 proxy-only no-query no-digest originserver login=PASSTHRU connection-auth=on ssl sslflags=DONT_VERIFY_PEER front-end-https=on name=OWA_HOST_443_1_pfs</p><p class=MsoNormal>cache_peer 10.89.5.3 parent 80 0 proxy-only no-query no-digest originserver login=PASSTHRU connection-auth=on name=OWA_HOST_80_1_pfs</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/owa.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/exchange.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/public.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/exchweb.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/ecp.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/OAB.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/Microsoft-Server-ActiveSync.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/rpc/rpcproxy.dll.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/rpcwithcert/rpcproxy.dll.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/mapi.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/EWS.*$</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^http://mail.DOMAIN.de/AutoDiscover/AutoDiscover.xml</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://mail.DOMAIN.de/AutoDiscover/AutoDiscover.xml</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^http://autodiscover.DOMAIN.de/AutoDiscover/AutoDiscover.xml</p><p class=MsoNormal>acl OWA_URI_pfs url_regex -i ^https://autodiscover.DOMAIN.de/AutoDiscover/AutoDiscover.xml</p><p class=MsoNormal>cache_peer_access OWA_HOST_443_1_pfs allow OWA_URI_pfs</p><p class=MsoNormal>cache_peer_access OWA_HOST_80_1_pfs allow OWA_URI_pfs</p><p class=MsoNormal>cache_peer_access OWA_HOST_443_1_pfs deny allsrc</p><p class=MsoNormal>cache_peer_access OWA_HOST_80_1_pfs deny allsrc</p><p class=MsoNormal>never_direct allow OWA_URI_pfs</p><p class=MsoNormal>http_access allow OWA_URI_pfs</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Custom options before auth</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Setup allowed ACLs</p><p class=MsoNormal># Default block all to be sure</p><p class=MsoNormal>http_access deny allsrc</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I also tried to Change the squid.conf to a example config from the faq´s – which had the same effect as described above.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Any ideas anybody?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thx for your help in advance…</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Greetings,</p><p class=MsoNormal>Philipp</p></div></body></html>