1. 反向代理(基于域名分发)
场景:两台不同的物理服务器,共用同一个公网IP地址,实现不同域名解析时能解析到不同的服务器访问不同的服务。两台服务器是不同的服务,两台服务器在同一内网下,且内网地址相通。
原理:通过Nginx反向代理服务器,监听公网IP的80/443端口,根据HTTP请求头中的Host字段区分域名,并将请求转发至内网不同服务器。
server {
listen 80;
server_name domain1.com;
location / {
proxy_pass http://192.168.1.100:80; # 内网服务器A
}
}
server {
listen 80;
server_name domain2.com;
location / {
proxy_pass http://192.168.1.101:80; # 内网服务器B
}
}