SharePoint–Outbound Hybrid Search and web proxies

I’m currently working with a client to implement hybrid search between their on-premises environment and Office 365. This is generally done in two stages, with the outbound (usually the simplest) being done first by following this technet article (https://technet.microsoft.com/en-gb/library/dn607305.aspx)

Unfortunately simple was not the case in this instance and when we went to create the Result Source and test it, we would receive a single Succeeded message (Read the footnote below on this!), followed by each successive test failing with the message “No connection could be made because the target machine actively refused it 104.146.162.51:443”

A quick dns info lookup revealed the IP address to be one of the Office 365 endpoints, so it looked like we were getting to Office 365 ok. As a result I spent a lot of time chasing my tail recreating the certificate exchange between Office 365 and the on-premises environment.

It turns out that this error message was a red herring and the IP was included as a result of a DNS lookup, we weren’t in fact leaving the client environment at all due to the perimeter firewall blocking our requests as it wasn’t made via the outbound proxies. (I owe a big thank you to Neil Hodgkinson of MS for putting up with my e-mails and helping me get to the bottom of this!)

At this point, we had two choices, either a firewall change to permit direct access out from the SharePoint server hosting the Query role, or configuring the proxy server for the Search service to use.

It should be noted that the Farm Search configuration page includes a proxy configuration option for Crawling and Federated searches, this option has NO EFFECT on federated searches and is there for backwards compatibility only with the old federated search web parts.
Instead, you must set the proxy in a windows command prompt using NETSH.

NETSH 
 WINHTTP 
 SET PROXY "PROXYSERVER:PORT"

This should be done on all servers that host the query role.

Once this was done, we were able to test the result source and receive “Suceeded” 3 times in a row..

Every time you add a result source and then click Test Result Source, you ALWAYS get a success for the first test.. So, make sure you do at least 3 tests with a short space of time between each!

Leave a Reply

Your email address will not be published.

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.