Unable to tunnel through proxy. Proxy returns "HTTP/1.1 503 Service Unavailable"


Error

Sep 6, 2020 12:02:39 AM CEST FINE [com.noelios.restlet.ext.net.HttpUrlConnectionCall sendRequest] An error occurred during the communication with the remote HTTP server.
java.io.IOException: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 503 Service Unavailable"
at sun.net.www.protocol.http.HttpURLConnection.doTunneling(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at com.noelios.restlet.ext.net.HttpUrlConnectionCall.sendRequest(HttpUrlConnectionCall.java:180)
at com.noelios.restlet.http.HttpClientConverter.commit(HttpClientConverter.java:109)
at com.noelios.restlet.http.HttpClientHelper.handle(HttpClientHelper.java:88)
at org.restlet.Client.handle(Client.java:120)
at org.restlet.Uniform.handle(Uniform.java:106)
at com.boomi.runtime.core.MessagePollerThread.run(MessagePollerThread.java:252)
at java.lang.Thread.run(Unknown Source)

 

Cause

This can happens when the proxy on a runtime does not allow a request through. The request can be stopped due to internal rules or it is going somewhere unexpected. For example, you are trying to reach an internal URL/IP address and your proxy is sending your request out to the public internet and it's trying to find that internal IP address or resolve a URL that doesn't actually exist publicly. You request never actually left the proxy to reach the final destination. 
 

Solution

You can try using the Non Proxy host setting to let endpoints bypass the proxy and not go through it if the proxy is causing issues with the endpoint. 
  1. Go to Runtime Management > your runtime > Properties > Advanced
  2. Click on the drop down to find "Non Proxy Hosts" and click Add a Property
  3. Add in any endpoints you would like to skip the proxy, e.g. *.boomi.com. For multiple, use | to separate endpoints, e.g. *.boomi.com|*.sharepoint.com

Alternatively, you can try to change the proxy settings/rules on your proxy to allow the request through.