How to protect private network URL in the AEM application server? | Community
Skip to main content
October 16, 2015
Solved

How to protect private network URL in the AEM application server?

  • October 16, 2015
  • 10 replies
  • 2832 views

Hi there,

Is there any way to config anything in the AEM application server, so as a result the IE address bar display AEM Server Hostname, instead of private network URL.

For example: http://10.195.15.239:4502/content/createJob.html. Actually, i want to display following in the address bar: http://AEM-Host-name:4502/content/createJob.html.

So i just want to obtain the public URL of the AEM hostname.

Also, i know the application server "nginx" is able to work that. But the AEM application server how to work that?

 

Thanks a lot in advance.

Brian

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by joerghoh

Hi,

this topic has 2 aspects (if I got your question right):

First you have to make sure, that there is a hostname configured for the IP you access. And then use that hostname instead of the IP address.

And second, all links created by AEM are normally using a relativ address and do not specifiy any host part. It then lets the browser specify the right hostname, and a browser usually chooses to use the same hostname, which is used from the originating page. In case this is getting wrong, you can use the externalizer as told by Scott.

kind regards,
Jörg

10 replies

joerghoh
joerghohAccepted solution
Employee
October 16, 2015

Hi,

this topic has 2 aspects (if I got your question right):

First you have to make sure, that there is a hostname configured for the IP you access. And then use that hostname instead of the IP address.

And second, all links created by AEM are normally using a relativ address and do not specifiy any host part. It then lets the browser specify the right hostname, and a browser usually chooses to use the same hostname, which is used from the originating page. In case this is getting wrong, you can use the externalizer as told by Scott.

kind regards,
Jörg

smacdonald2008
New Participant
October 16, 2015

See this AEM doc topic: 

http://docs.adobe.com/content/docs/en/cq/5-6-1/developing/externalizer.html

You would also use DNS to define a domain name for CQ. 

October 16, 2015

hi scott,

I try to do that follow the article, please see below:

[img]externalizer.png[/img]

public String getAuthorUrl() { ResourceResolver resourceResolver; Externalizer externalizer; try { resourceResolver = resolverFactory .getAdministrativeResourceResolver(null); externalizer = resourceResolver.adaptTo(Externalizer.class); String result = externalizer.authorLink(resourceResolver, "/content/globalsight/createJob") + ".html"; log.info("authorlink: " + result); return result; } catch (Exception ex) { } return null; }
button = { xtype: "button", scope: sk, name: "TEST_BUTTON", text: "Test button", "context": [ CQ.wcm.Sidekick.PAGE ], handler: function(){ var authorUrl = authorUrlFromServer; window.open(authorUrl, 'createjob', 'fullscreen=yes, menubar=no, toolbar=no, scrollbars=yes, resizable=yes, resizable=1'); }, disabled:(flag) };

 

But when i press that button or access http://author.example:4502/content/test.html in the IE adress bar, it failed finally.

[img]fail.png[/img]

But if i access and type http://10.10.215.126:4502/content/test.html in the IE address bar, it ok.

 

As a result it make me confused. Any idea about that? Thanks.

October 16, 2015

Thanks so much.

joerghoh
Employee
October 16, 2015

Hi,

according to your screenshot, the hostname "author.example" does not exist in the DNS. Are you sure, that "author.example" is correct?

kind regards,
Jörg

smacdonald2008
New Participant
October 16, 2015

When you directly hit the URL by typing the address into the Web Browser - it works. Is that correct? 

October 16, 2015

Only successful on condition of type IP address, rather than type "author.example" defined in the form "http://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl".

BTW, the url "author.example" not existed in the DNS.

 

Thanks a lot

joerghoh
Employee
October 16, 2015

If you type ´ "http://author.example" into the address bar of your browser, this name should be available in the DNS, otherwise you get the error message as seen above.

kind regards,
Jörg

October 16, 2015

Assume the public url"http://author.example" is available in the DNS, if any other network spot also need to configure or map ip address?  also if "http://author.example" map to another server A, but AEM server is B, how to work them? Any idea for that?

 

thanks a lot.

October 16, 2015

Hi,

What do you mean? Does it need to register "author.example"(public URL) in the DNS, right? Then map this public url to the AEM Host?

And the host name "author.example" is just my desired name, not existed in the DNS absolutely. Could i write it any name?

 

Thanks a lot.

Brian