Can I map a hostname *and* a port with /etc/hosts? [closed]

Can I map an IP address like 127.0.0.1 to a domain name and a port?

For example, I would like to map 127.0.0.1 to api.example.com:8000


Solution 1:

No, that's not possible. The port is not part of the hostname, so it has no meaning in the hosts-file.

Solution 2:

If you really need to do this, use a reverse proxy. For example, with Nginx:

server {
  listen       api.mydomain.com:80;
  server_name  api.mydomain.com;
  location / {
    proxy_pass http://127.0.0.1:8000;
  }
}