I've just got an internal DNS name for my WSO2 single node machine (let's say it's "apis.portal").
I've set up this name in these places so far :
carbon.xml: <HostName>apis.portal</HostName>
carbon.xml: <MgtHostName>apis.portal</MgtHostName>
api-manager.xml: <URL>https://apis.portal:${mgt.transport.https.port}/store</URL>
api-manager.xml: <URL>https://apis.portal:${mgt.transport.https.port}/publisher</URL>
It 'kind of' works, but when I go to APIs collection in store, it's like each API has kept in cache the IP of the portal instead of the name.
I've tried to delete all APIs and recreate them from scratch, but the IP is still displayed instead of the name.
There is a second incorrect url : the "requested URL" shown in swagger-ui uses IP instead of name.
This is a very annoying problem since it will create problems with most browsers except if u specifically create a security exception for certificate mismatch.
EDIT :
You have to change
<GatewayEndpoint>
URL too. It's under<APIGateway>
section of api-manager.xml.