适用人群说明
本文面向三类读者:
宝塔面板网站IP绑定全攻略,从域名解析到多站点隔离,手把手教你避坑
- 刚买完服务器的新手站长——不知道如何将域名或IP正确指向网站根目录;
- 用宝塔管理多个项目的开发者——需要在一台服务器上通过不同IP或端口隔离多个网站;
- 被“访问IP显示默认页”困扰的运维小白——想彻底搞懂宝塔的站点IP绑定逻辑,杜绝串站问题。
操作前请确保:已安装最新版宝塔面板(7.9+),服务器系统为CentOS 7/8或Ubuntu 20.04/22.04,且已开放所需端口(默认80/443)。
第一步:搞清楚“IP、域名、端口”三者的关系(避免白忙活)
在宝塔里添加网站时,最常犯的错是只填域名不填IP,导致直接访问http://服务器IP时弹出来的是宝塔默认欢迎页,而非你的站点。
核心逻辑:
- 宝塔的“域名”栏其实支持填IP地址(IPv4或IPv6),填了之后,Nginx/Apache会将该IP作为
server_name精确匹配。 - 如果你的服务器只有一个IP,且不用域名,完全可以在“域名”栏直接填入该公网IP(如
154.12.88)。 - 多个网站共存时,无法通过相同IP区分,必须借助不同端口(如
154.12.88:8081)或不同域名。
第二步:完整操作步骤(以“IP绑定+反向代理”为例)
场景假设:你的服务器IP为0.113.10,已部署一个WordPress站点,现在想通过http://203.0.113.10直接访问,且安全起见隐藏真实端口(如8080)。
面板操作步骤:
- 登录宝塔面板:浏览器访问
http://你的服务器IP:8888/安全入口(默认入口是随机8位字符,可在面板首页“安全”中查看)。 - 创建站点:左侧菜单“网站” → “添加站点”。
- 域名栏:直接填
0.113.10(不填http://,只填IP)。 - 根目录:建议填
/www/wwwroot/myip_site(会自动创建)。 - FTP和数据库:按需创建,纯静态站可不用。
- 提交后,站点列表会出现一条记录,状态为“运行中”。
- 域名栏:直接填
- 修改Nginx配置(关键步骤):点击该站点的“设置” → “配置文件”。
- 找到
server_name行,确保是0.113.10,而不是或localhost。 - 在
server{}块内,添加以下强制跳转规则(将80端口请求转发到8080端口):location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } - 保存并重启Nginx(“服务” → “Nginx” → “重载配置”)。
- 找到
- 防火墙放行:宝塔“安全” → “系统防火墙”中,确认放行
80和8080端口(如果是云服务器,还需在云控制台安全组中放行)。
面板截图位置提示:
- 添加站点页面:右侧红色虚线框内“域名”输入框。
- 配置文件编辑区:站点列表→操作栏“设置”→顶部第二页签“配置文件”,红框标注
server_name那一行。
第三步:配置参数说明(看懂这些你才算入门)
| 参数 | 推荐值 | 说明 |
|---|---|---|
listen 80; |
默认 | 监听IPv4的80端口,若想同时监听IPv6,改为listen [::]:80; |
server_name 203.0.113.10; |
固定IP | 决定哪些Host请求会命中此站点。若填,所有未匹配的请求都会进来(易串站) |
proxy_pass http://127.0.0.1:8080; |
内网后端 | 将外部请求转发到本机8080端口的应用(需先启动该应用) |
root /www/wwwroot/myip_site; |
绝对路径 | 若不用反向代理,而是直接放静态文件,则此路径必须存在且有权限 |
index index.php index.html; |
默认 | 优先找PHP文件,再找HTML |
第四步:常见报错解决(附排查口诀)
报错1:访问IP显示“恭喜,站点创建成功!”
- 原因:你访问的IP未绑定到任何站点,触发了宝塔默认页。
- 解决:检查站点列表是否已有该IP;确认Nginx配置里
server_name没被注释;刷新浏览器缓存(Ctrl+F5)。
报错2:403 Forbidden
- 原因:网站根目录无
index.php或index.html,或目录权限不足。 - 解决:在“文件”管理中,将网站根目录权限设为
755(所有者可写),并上传一个index.html测试文件。
报错3:反向代理后无限重定向循环
- 原因:后端应用(如WordPress)的
wp_options表中siteurl仍是http://域名,与IP不匹配。 - 解决:修改数据库(phpMyAdmin)中
siteurl和home字段为http://203.0.113.10,或用命令行执行:UPDATE wp_options SET option_value='http://203.0.113.10' WHERE option_name='siteurl';
报错4:访问IP时跳到HTTPS或证书错误
- 原因:你开启了“强制HTTPS”或站点绑定了SSL证书,但证书只针对域名颁发。
- 解决:在“网站”设置 → “SSL”中,关闭“强制HTTPS”;或为IP申请IP专用的SSL证书(需付费,一般不建议)。
第五步:进阶技巧——多IP站点隔离(同一面板管理多台服务器IP)
如果你的服务器有多个IP(如弹性网卡),可在“网站” → “添加站点”时,分别绑定不同IP。
-
- 站点A:
0.113.10(运营官网) - 站点B:
0.113.11(客户后台)
- 站点A:
- 此时必须在“配置文件”中为每个站点单独设定
listen对应IP,否则宝塔会自动将所有站点绑定到*:80,导致IP无法精确匹配。
具体操作:在配置文件的server块中,将listen 80;改为listen 203.0.113.10:80;(每个站点不同IP)。
最后一步验证:
本地命令行执行curl -I http://203.0.113.10,看到HTTP/1.1 200 OK即表示绑定成功,若是反向代理,应看到后端应用返回的头信息。
如果还是不行,请检查宝塔面板“运维日志”中的Nginx错误日志(路径:/www/wwwlogs/站点错误日志),往往最关键的报错线索都在那里。
本文操作全程耗时约10分钟,适合深夜安静时一次性搞定。 遇到问题不要慌,宝塔面板最强大的地方在于“日志全”和“进程可一键重启”,按照上述步骤走,新手也能让IP老老实实“对号入座”。



发表评论