Search code examples
javaapacheweb-servicessslwsdl

CONNECTION_REFUSED from Apache 2.2 server ( the channel to weblogic 10.3.6 server)


  • I built a web-service application using Jdeveloper 11.1.1.7 and deployed on weblogic 10.3.6 on physical server let us call it back-end server.
  • I do not want to give client direct access to back-end server so I make use of Apache 2.2 to be in the middle of client and back-end server. Apache 2.2 is configured on different physical server let us call it middle server.
  • I defined application's context root (which deployed in back-end server) on middle server in Apache httpd.conf file.
  • I shared WSDL file location to client ( WSDL URL which referring to the middle server domain name). The external client can access the URL thorug browser where he/she can see the WSDL content

But when the client trying send requests to middle server URL it get rejected with the following error:

[error] [client -clinet public IP goes here-] ap_proxy: trying POST /[application context root goes 

here] at backend host '[back-end server local IP]/[port goes here]; got exception 'CONNECTION_REFUSED 

[os error=0, line 1602 of URL.cpp]: apr_socket_connect call failed with error=730061, host=[back-end 

server local IP], port=[port goes here]'

This error from middle server Apache error log file. No logs from back-end server

What is done so far:

  1. I check the if I can access the middle server as external user using the telnet command. telnet IP port. It is working and the middle server is listening.
  2. I also checked for all ports. between external client and middle server, between middle server and back-end server also using telnet. All ports working.
  3. In this answer : ssl - Apache 2 with Weblogic Plug-in Redirection, original location still requested to backend - Server Fault they are suggestion to increase the Accept Backlog value from weblogic server tuning . I did that in back-end server but still the issue is not resolved.

Solution

  • Problem resolved

    I need to enable (WebLogic Plug-In Enabled) option from weblogic server where the application is deployed

    from Domain Structure (Left Panel in admin console) - > Environment - > Servers -> (select the server where you deploy your application on it) - > General tab (from server setting)-> Advance - > (tic the option) WebLogic Plug-In Enabled

    Then restarted the server.

    By this your are telling the server you will get indirect request through proxy server or load balancer for example

    You can do this on many level like cluster or server based on your needs check this site for more information

    Understanding the use of “WebLogic Plugin Enabled”