Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

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

Avatar

Former Community Member

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

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

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

View solution in original post

10 Replies

Avatar

Correct answer by
Employee Advisor

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

Avatar

Level 10

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. 

Avatar

Former Community Member

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.

Avatar

Employee Advisor

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

Avatar

Level 10

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

Avatar

Former Community Member

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

Avatar

Employee Advisor

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

Avatar

Former Community Member

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.

Avatar

Former Community Member

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