Kemp Support, how can we help?

The latest application delivery knowledge and expertise at your fingertips.

How to shorten and mask an Internal URL for External Users and Access





This article will cover the process for converting the HOST and PATH for an external URL with the HOST and PATH for the internal server while still masking the internal URL to the external client.


Product: LoadMaster

Version: Any

Platform: Any

Application: Any

Question/Problem Description:

Is it possible to convert an External URL into a Internal URL while still keeping the Internal URL hidden or masked to the external client.

Steps to Reproduce:  
Error Message:  
Defect Number:  
Enhancement Number:  
Cause: The internal URL is too long for external publication and there is a requirement to keep the internal URL hidden for external clients.

Two content rules are needed:

  • The first rule will be to match on the HOST in the external URL and then replace it with the HOST for the internal URL.
  • The second rule will be to match on the PATH in the external URL and replace it with the path for the internal URL.

External URL:

Internal URL: internal.url.local/Directory/Folder/Path


From LoadMaster menu go to
Rules & Checking -> Content Rules -> Create New

Then create a new rule using the variables below
Rule type = Replace Header
Header Field = host
Match String = /^external\.url\.com$/
Modified URL = internal.url.local
Create a second new rule using the variables below
Rule type = Modify URL
Match String = /^\/$/
Modified URL = /Directory/Folder/Path

Once the rules have been created, assign them as request rules under the respective virtual service:

Advanced Properties --> HTTP Header Modification --> Show Header Rules --> Request Rules --> Add both rules.


An unencrypted PCAP can be taken on the LoadMaster to verify that the content rules are working as intended.

In the below screenshot it can be observed that the referrer header contains the clients request external URL of "" but that the host header has not been changed to the host for the internal URL of "internal.url.local"




Since this change occurs on the LoadMaster for the clients request bound to the server, it remains invisible to the client and their browser.


Content Rule Guide:

Content Rules – Kemp Support (



Was this article helpful?
0 out of 0 found this helpful