Skip to Content
avatar image
Former Member

URL forwarding in SAP Web dispatcher to Non SAP Server i.e Apache server

Hi Experts,

We have a SAP Web dispatcher installed in our landscape and a Web AS system as its backend. Our backend systems is initially configured with the below parameters :

rdisp/mshost = XXXWAST1

ms/http_port = 81XX

Now we have an External Apache server installed and we need to forward the requests coming on https://abc.com/testservice to http://<Apache IP Addr>/testservice

So I have made the below the parameter changes :

#rdisp/mshost = XXXWAST1

#ms/http_port = 81XX

Hashed out above 2 parameters.

Inserted below 3 parameters :

1. wdisp/system_conflict_resolution = 1

2. wdisp/system_0 = SID=EXT, EXTSRV= , SRCSRV= abc.com:80; abc.com:443, SRCURL=/testservice

3. wdisp/system_1 = SID=WAS, MSHOST=XXXWAST1, MSPORT=81XX, SRCURL=/

And ports are configured as below :

#-------------- # SAP Web Dispatcher(SWD) Ports #----------------------

icm/server_port_0 = PROT=HTTP,PORT=80,EXTBIND=1,HOST=SWD,TIMEOUT=10,PROCTIMEOUT=300

icm/server_port_1 = PROT=HTTPS,PORT=443,EXTBIND=1,HOST=SWD,TIMEOUT=10,PROCTIMEOUT=300

--> But still it doesn't seem to be working, SSL is configured only on our Web Dispatcher and PROT is maintained to HTTPS in the parameter icm/server_port_1 instead of ROUTER, but still no luck.

-> Also if we see the requirement the forwarding has to be done from https://abc.com/testservice to http://<Apache IP Addr>/testservice, but the parameter wdisp/system_0 has the provision to mention SRCURL=/testservice but no such provision as EXTURL where the internal URL prefixes can also be mentioned !! Is there any other way to achieve this ??

Thanks in Advance !!

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Jul 14, 2017 at 09:23 PM

    Hello Srikanth,

    Can you please be more specific on how the parameter wdisp/system_0 is being defined?

    I mean, what is being added to the EXTSRV argument?

    You would need to put something like "EXTSRV=http://hostname.from.apache".

    If the Apache is not listening on the default HTTP port (80), then you need to specify the port too.

    For example, if the port is 8000:

    EXTSRV=http://hostname.from.apache:8000

    Regards,

    Isaías

    Add comment
    10|10000 characters needed characters exceeded

    • Hello Srikanth,

      If you are using the following parameters:

      wdisp/system_conflict_resolution = 1
      wdisp/system_0 = SID=EXT, EXTSRV=http://IP.FROM.APACHE, SRCURL=/testservice
      wdisp/system_1 = SID=WAS, MSHOST=XXXWAST1, MSPORT=81XX, SRCURL=/

      Then the Web Dispatcher would forward all requests to "/testservice<anything>" to the Apache, and everything else to the WAS system.

      The issue at the "error.png" is related to the redirect parameters. As the error page states, the browser detected a redirect loop. In other words, you are accessing "https://website.com/something" and this is replying with a redirect to that same address.

      Since we cannot see the actual request in the "error.png" file, it would not be possible to identify which redirect parameter is causing the issue.

      I analyzed all redirect parameters, and these could be potentially creating the loop (although the first one seems to be commented at the profile that was shared):

      #icm/HTTP/redirect_12 = PREFIX=/b2c_xxx/b2c/displayUsername, FROM=*, FROMPROT=http, PROT=http, HOST=abc.com
      icm/HTTP/redirect_14 = PREFIX=/, FROM=*,FOR=store.xxx.com.cn, HOST=abc.com
      icm/HTTP/redirect_16 = PREFIX=/, FROM=*,FOR=store.xxx.com.cn, HOST=abc.com

      You can double check all redirect parameters to identify which one is causing the loop.

      Regards,

      Isaías