Contents

端口映射主机名

1. 概述

在 Linux 中,/etc/hosts是操作系统用来将主机名转换为 IP 地址的文件。它也称为“主机”文件。通过在该文件中添加行,我们可以将任意主机名映射到任意 IP 地址,然后我们可以将其用于本地测试网站。

在本教程中,我们将了解如何通过将主机名映射到特定端口来更进一步。

2. hosts文件

首先,让我们看一个例子。假设我们需要将blogdemo.com映射到127.0.0.1,我们将以下行添加到*/etc/hosts*:

127.0.0.1    blogdemo.com

现在,每次我们访问该站点时,我们的操作系统都会告诉浏览器访问我们的本地主机。

3. 添加端口号

大多数 Web 开发人员都采用了在本地进行测试的做法,例如使用端口8080。有人可能想知道我们也可以使用*/etc/hosts来实现这一点。例如,我们是否可以在hosts*文件中添加以下行:

127.0.0.1:8080    blogdemo.com

不幸的是,我们不能。hosts文件只处理主机名,而不是端口。

4. 使用反向代理

为了使它工作,我们可以使用反向代理。反向代理通常是一个 Web 服务器,例如 Nginx,它接收客户端请求并将它们定向到适当的后端服务器。这些后端服务器可以在不同的主机上运行,对我们来说更有趣的是,不同的端口。 让我们看看如何使用 Nginx 进行配置。我们可以从我们的包管理器(如yumapt-get )轻松安装nginx。它的默认安装文件夹是*/etc/nginx*。

要为blogdemo.com配置反向代理,我们在名为*/etc/nginx/conf.d/blogdemo.conf*的文件中添加以下内容:

server {
    listen 80;
    server_name blogdemo.com;
    location / {
        proxy_pass http://127.0.0.1:8080/;
    }
}

当我们将此配置与以下内容一起使用时:

127.0.0.1 blogdemo.com

在*/etc/hosts中,nginx将接收我们对blogdemo.com的请求,并将这些请求定向到在127.0.0.1:8080*上运行的网络服务器。