作者:实圪垯电动乐园_855 | 来源:互联网 | 2024-12-22 10:01
为了简化开发和测试环境中的域名解析,可以修改本地的hosts文件,将多个子域名指向本地IP地址127.0.0.1:
127.0.0.1 www.example.com
127.0.0.1 api.example.com
127.0.0.1 manage.example.com
127.0.0.1 image.example.com
这样配置后,访问这些域名时,实际上会访问本地服务器。然而,默认情况下,仍然需要手动指定端口号(例如:http://www.example.com:8080),这显然不够优雅。
为了解决这个问题,我们可以使用Nginx作为反向代理服务器,将请求从默认的HTTP端口80转发到指定的服务端口。
首先,在Nginx主配置文件nginx.conf
中添加如下指令以引用自定义配置文件:
include vhost/*.conf;
接下来,在Nginx配置目录下创建一个名为vhost的新文件夹,并在其中创建配置文件example.conf
,内容如下:
upstream manage-service {
server 127.0.0.1:9001;
}
upstream gateway-service {
server 127.0.0.1:10010;
}
upstream portal-service {
server 127.0.0.1:9002;
}
server {
listen 80;
server_name manage.example.com;
location / {
proxy_pass http://manage-service;
proxy_connect_timeout 600;
proxy_read_timeout 5000;
}
}
server {
listen 80;
server_name www.example.com;
location / {
proxy_pass http://portal-service;
proxy_connect_timeout 600;
proxy_read_timeout 5000;
}
}
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://gateway-service;
proxy_connect_timeout 600;
proxy_read_timeout 5000;
}
}
上述配置确保了当用户通过浏览器访问http://www.example.com
、http://api.example.com
或http://manage.example.com
时,请求会被自动转发到相应的后端服务端口,而无需显示地指定端口号。此外,还可以根据需要调整超时设置和其他参数,以优化性能和用户体验。