YoutuWeb 发表于 2021-5-26 11:13:32

【待反馈】nginx想用IP打开一个网站 不同其他端口打开别的...

宝塔nginx环境想用IP打开一个网站 ,用IP的不同其他端口打开别的网站,有bug。
bug描述:后台 独立IP和IP不同端口分别绑定了网站后,用独立IP打开站点会有错误,会打开IP不同端口网站id最早的那个网站!

例如:我的服务器IP地址是192.168.10.10,

后台创建了站点1:wangzhan1.com,同时绑定了ip 192.168.10.10:801;
后台创建了站点2:wangzhan2.com,同时绑定了ip 192.168.10.10:802;
后台创建了站点3:wangzhan3.com,同时绑定了ip 192.168.10.10;

这样正常 http://192.168.10.10/ 应该打开wangzhan3.com才对,但是只会打开wangzhan1.com,
如果把wangzhan1.com的192.168.10.10:801删除,http://192.168.10.10/ 又会打开wangzhan2.com。
我看后台配置文件是这样的:
# 站点1:wangzhan1.com配置文件:
server
{
    listen 80;
    listen 801;
    server_name wangzhan1.com 192.168.10.10;
省略……
}


# 站点2:wangzhan2.com配置文件:
server
{
    listen 80;
    listen 802;
    server_name wangzhan2.com 192.168.10.10;
省略……
}


# 站点3:wangzhan3.com配置文件:
server
{
    listen 80;
    server_name wangzhan3.com 192.168.10.10;
省略……
}


现在的临时解决办法,手动修改配置文件:
# 站点1:wangzhan1.com配置文件:
server
{
    listen 80;
    server_name wangzhan1.com;
省略……
}
server
{
    listen 801;
    server_name192.168.10.10;
省略……
}


# 站点2:wangzhan2.com配置文件:
server
{
    listen 80;
    server_name wangzhan2.com;
省略……
}
server
{
    listen 802;
    server_name 192.168.10.10;
省略……
}


# 站点3:wangzhan3.com配置文件不用修改:
server
{
    listen 80;
    server_name wangzhan3.com 192.168.10.10;
省略……
}

这样修改后 对应的就都正确了:
http://192.168.10.10:801/ 打开站点1:wangzhan1.com,
http://192.168.10.10:802/ 打开站点2:wangzhan2.com,
http://192.168.10.10/ 打开站点3:wangzhan3.com。


BUG分析:
配置文件会把不同端口绑定的域名放到一个server{}里面,这样导致冲突。经测试 apache环境没有这个问题,他的配置文件是不同端口分开存放的。

本文完毕






谢花郎 发表于 2021-5-26 11:57:57

您好,你直接用IP加端口能正常访问到你绑定对应的域名?
页: [1]
查看完整版本: 【待反馈】nginx想用IP打开一个网站 不同其他端口打开别的...