08-05-2009 12:27 PM
We have an application that sends out a connection URL to the client after the initial connection is made through the load balancer. This URL is based on the local machine name and IIS port the application is listening on. How do I mask the URL that goes back to the client so that it uses the publicly exposed SSL secured name instead of the internal (not internet resolvable) server name?
Initial Client URL
Response sent to Client:
This needs to point to https://mysite.domain.com/Authentication.svc/?wsdl
08-05-2009 01:23 PM
It is an HTTP redirect the client is getting from the IIS? It is possible to rewrite 301/302 HTTP redirects doing:
csw-rule "r1" response-status-code 301 302
csw-rule "r2" response-header "Location" pattern "http://localhost.domain.com:1234/"
csw-policy "p1" type response-rewrite
match "r1" response-header-rewrite
match "r2" rewrite response-header-replace "https://mysite.domain.com/" offset 0 length 33
server virtual whatever a.b.c.d
port ssl ssl-terminate webssl
port ssl response-rewrite-policy "p1"
port ssl csw
port ssl keep-alive
I hope this is useful. It is part of the documentation:
08-05-2009 02:22 PM
Spoke with the developer of the application. The response sent to the client is not from IIS so it is not a redirect. It is a link displayed in the body of the page that the client sees when they connect.
You have created a service.
To test this service, you will need to create a client and use it to call the service. You can do this using the svcutil.exe tool from the command line with the following syntax:
This will generate a configuration file and a code file that contains the client class. Add the two files to your client application and use the generated client class to call the Service. For example:...
So can that content be rewritten when it goes out to reflect the initial connecting URL? https://mysite.domain.com/Authentication.svc?wsdl