需求分解

这个需求是作为个人网站的服务器一般都只有一台,所以会涉及到部署了很多不同端口的应用,但域名解析只能解析到80端口,这就需要用到我们的nginx来做反向代理了。

在计算机网络中,反向代理是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的IP地址,而不知道在代理服务器后面的服务器集群的存在。

配置二级域名解析

首先我们需要创建一个二级域名通过A类型解析到服务器公网IP地址,此处使用的示例域名为dhwlinks.top,二级域名为:zabbix.dhwlinks.top

配置 Nginx

假设现在有一条server段是解析到主应用的:

server {
        listen 80;
        server_name  www.dhwlinks.top;
        location / {
           proxy_pass http://127.0.0.1:80;
        }
}

即可再添加一条server指向你的另一个应用:

server {
        listen 80;
        server_name zabbix.dhwlinks.top;
        location / {
           proxy_pass http://127.0.0.1:8080;
        }
}

要实现目录解析到不同端口,就在location处设置:

server {
        listen 80;
        server_name zabbix.dhwlinks.top;
        location /edu/ {
           proxy_pass http://127.0.0.1:8081;
        }
}

到此反向代理就已经配置完成了,还需要reload一下nginx的配置文件即可使用二级域名访问
进入nginx可执行目录sbin下,输入命令./nginx -s reload