使用场景:用Nginx做转发,实现更好的服务器管理,此处实现多域名转发
假设服务器分配:
客户访问机器IP:192.168.137.70 //Nginx接收访问请求,并转发到49服务器
真实服务机器IP:192.168.137.49 //IIS或者Apache,接受Nginx转发过来的请求
代码超简单实现,有需要可以自行补充:
# 此行为注释,可删除,以下为代码内容,保存文件为 php_49serv_80.conf
upstream Flex49 {
server 192.168.137.49:80;
}
server {
listen 80;
server_name
test1.tp.top
test2.tp.top
;
add_header Real-Ip $upstream_addr;
location / {
index index.php index.html index.htm default.php default.htm default.html;
proxy_pass http://Flex49;
# proxy_set_header Host $host:$server_port;
proxy_set_header Host $host;
}
access_log D:/BtSoft/wwwlogs/php_49serv_80.log;
error_log D:/BtSoft/wwwlogs/php_49serv_80.error.log;
}
# 此行为注释,可删除,以上为代码内容,保存文件为 php_49serv_80.conf
注意:上面代码中注释的一句代码:
# proxy_set_header Host $host:$server_port;
这句如果加上了,那么Nginx转发时候会携带端口号,给我造成不小的麻烦,会一直读不到域名匹配的样式
实现功能:域名test1.tp.top和域名test2.tp.top请求70服务器都会被转发到49服务器,由49服务器承载真实服务。