特网科技为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。

当前位置:首页 > 行业资讯 > 虚拟主机 > 正文内容

Nginx基于IP地址配置虚拟主机完整实战指南

2026-01-19虚拟主机403

海外云服务器 40个地区可选            亚太云服务器 香港 日本 韩国

云虚拟主机 个人和企业网站的理想选择            俄罗斯电商外贸虚拟主机 赠送SSL证书

美国云虚拟主机 助力出海企业低成本上云             拨号云主机


在现代Web服务架构中,Nginx 以其卓越的性能表现、轻量级资源占用及高度灵活的配置能力,成为企业级与高并发场景下的首选Web服务器。“虚拟主机”是Nginx实现“一机多站”的核心技术之一,而其中基于IP地址的虚拟主机配置,则是在特定网络环境中(如企业内网隔离、多IP物理服务器、早期SSL兼容或安全审计需求)极具实用价值的部署方案。

本文将从原理剖析、环境准备、配置步骤、调试技巧到进阶优化,系统讲解 “Nginx如何通过IP地址配置虚拟主机”,帮助运维工程师、DevOps人员及开发者高效构建隔离式多站点服务体系。


什么是基于IP的虚拟主机?

Nginx支持三种主流虚拟主机类型:

  • ✅ 基于域名(server_name
  • ✅ 基于端口(listen :port
  • ✅ 基于IP地址(listen IP:port

基于IP的虚拟主机,是指在同一台物理服务器上绑定多个IP地址(公网或私网),每个IP独立承载一个网站或应用实例,其核心机制在于:Nginx根据客户端请求的目标IP地址来匹配对应的 server 块,而非依赖HTTP请求头中的 Host 字段

这种模式适用于如下典型场景:

🔹 服务器拥有多个可用IP(如云厂商分配的弹性IP或多网卡环境)
🔹 需为不同客户/部门提供完全网络层隔离的访问入口
🔹 SSL证书需绑定固定IP(在SNI未普及或不被支持的旧设备环境中)
🔹 内部测试需模拟真实分布式架构,规避域名解析干扰
🔹 安全合规要求:避免通过Host头注入或域名劫持引发的风险

📌 注:相比基于域名的虚拟主机,IP方式更底层、更稳定,但灵活性较低,适合对隔离性和安全性有强要求的生产环境。


前置环境准备

在动手配置前,请确认以下基础条件已就绪:

  1. 多IP绑定成功
    使用命令查看当前服务器绑定的IP:

    ip addr show
    # 或传统方式
    ifconfig

    确保至少有两个可用IP(如 168.1.100168.1.101)。

  2. Nginx 已安装并正常运行
    推荐使用 10+ 版本(支持更多安全与性能特性):

    nginx -v
    systemctl status nginx
  3. 防火墙/安全组放行对应端口
    默认开放 80(HTTP)443(HTTPS),若自定义端口需额外配置:

    sudo ufw allow 80/tcp
    sudo firewall-cmd --permanent --add-port=80/tcp
  4. DNS 解析(如需公网访问)
    若对外提供服务,确保域名A记录正确指向目标IP。


详细配置步骤

步骤1:编辑主配置文件(可选)

通常无需修改 /etc/nginx/nginx.conf,只需确保 http 块内未限制 server 数量即可,默认配置一般已满足需求。

步骤2:创建虚拟主机配置文件

推荐在 sites-available 目录下新建独立配置文件,便于管理:

sudo nano /etc/nginx/sites-available/ip-based-vhosts.conf

示例含两个站点):

# 站点1:绑定IP 192.168.1.100
server {
    listen       192.168.1.100:80;
    server_name  _;  # 忽略域名,仅匹配IP
    root         /var/www/site1;
    index        index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
    access_log  /var/log/nginx/site1.access.log;
    error_log   /var/log/nginx/site1.error.log warn;
}
# 站点2:绑定IP 192.168.1.101
server {
    listen       192.168.1.101:80;
    server_name  _;
    root         /var/www/site2;
    index        index.html;
    location / {
        try_files $uri $uri/ =404;
    }
    access_log  /var/log/nginx/site2.access.log;
    error_log   /var/log/nginx/site2.error.log warn;
}

💡 关键说明:

  • listen IP:PORT 是核心指令,指定监听的具体IP和端口。
  • server_name _; 表示忽略任何Host头,仅靠IP路由。
  • 日志路径建议按站点分离,便于后期排查。

步骤3:创建网站根目录并部署测试页

sudo mkdir -p /var/www/{site1,site2}
echo "<h1>Welcome to Site 1 — Served via 192.168.1.100</h1>" | sudo tee /var/www/site1/index.html
echo "<h1>Welcome to Site 2 — Served via 192.168.1.101</h1>" | sudo tee /var/www/site2/index.html

步骤4:启用配置 & 重载Nginx

# 创建软链接启用配置
sudo ln -sf /etc/nginx/sites-available/ip-based-vhosts.conf /etc/nginx/sites-enabled/
# 检查语法是否正确
sudo nginx -t
# 优雅重载服务(不中断现有连接)
sudo systemctl reload nginx

验证与故障排查

验证访问:

curl http://192.168.1.100
curl http://192.168.1.101

应分别看到对应站点的欢迎页面。

常见问题排查清单:

✅ 检查IP是否真实绑定:

ip addr show | grep "192.168.1.1"

✅ 检查Nginx是否监听目标IP:

ss -tulnp | grep nginx
# 或 netstat -tlnp | grep :80

✅ 检查防火墙是否拦截:

sudo ufw status
sudo iptables -L -n

✅ 查看错误日志定位原因:

tail -f /var/log/nginx/error.log
journalctl -u nginx --since "5 minutes ago"

进阶技巧与最佳实践

启用HTTPS(SSL/TLS)

只需在 listen 后添加 ssl 参数,并指定证书路径:

server {
    listen 192.168.1.100:443 ssl;
    server_name _;
    ssl_certificate     /etc/ssl/certs/site1.crt;
    ssl_certificate_key /etc/ssl/private/site1.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    root /var/www/site1;
    ...
}

🔐 强烈建议禁用老旧协议(如SSLv3、TLSv1.0/1.1),提升安全性。

设置默认服务器兜底

当访问未配置的IP时,可指定一个默认响应:

listen 192.168.1.100:80 default_server;

常用于返回“404 Not Found”或跳转到维护页。

性能调优建议

  • 为不同站点设置独立的 access_log 缓冲策略
  • 启用 gzip 压缩静态资源
  • 配置 expires 头缓存静态文件
  • 使用 open_file_cache 提升文件读取效率

安全加固措施

  • 限制源IP访问(allow/deny
  • 部署ModSecurity等WAF模块
  • 定期更新OpenSSL与Nginx版本
  • 启用HTTP Strict Transport Security (HSTS)

为何值得掌握这项技能

扫描二维码推送至手机访问。

版权声明:本文由特网科技发布,如需转载请注明出处。

本文链接:https://www.56dr.com/mation/93813.html

分享给朋友:

“Nginx基于IP地址配置虚拟主机完整实战指南” 的相关文章

服务器租用1000元,开启你的数字世界新篇章!

服务器租用1000元开启数字世界新篇章。在这个数字化的时代,数据是我们生活的重要组成部分,无论是工作、学习还是娱乐,都需要大量的计算和存储能力,而服务器,作为处理这些数据的关键设备,成为了我们不可或缺的基础设施。随着互联网技术的发展,服务器租赁的价格也在逐渐降低,如果你正在寻找一个性价比高的服务器租...

中美云计算服务提供商合作模式分析

中美云计算服务提供商合作模式分析表明,两国在云计算领域存在广泛的合作机会和挑战。两国在技术、市场和政策方面都有很高的发展水平,为云计算的发展提供了良好的基础。两国在经济和文化背景等方面也有很大的差异,这可能会影响他们的合作方式和选择。,,对于中美两国来说,云计算服务提供商的合作模式应考虑以下几点:,...

海外服务器购买渠道总结

全球各地都有许多可靠的海外服务器购买渠道。这些渠道包括传统的在线商店、大型云计算服务提供商、专业托管服务商以及一些专门的云服务市场。在选择海外服务器时,建议考虑服务器的性能、价格、可用性、支持以及安全性等因素,并根据个人需求和预算做出明智的选择。随着互联网技术的发展,越来越多的人开始转向在线购物的方...

虚拟主机性价比高选择,如何找到最适合您的服务

虚拟主机在成本、性能和稳定性方面都具备较高的性价比。选择虚拟主机时,应考虑以下几点:价格适中、服务器配置合理、支持多种操作系统和软件环境、良好的网络服务等。还可以关注虚拟主机的安全性、扩展性和用户界面等方面。随着互联网的发展,虚拟主机(Virtual Hosting)已经成为企业、个人用户在共享服务...

如何选择最适合自己的虚拟主机?

在选择虚拟主机时,请考虑以下几个关键因素:操作系统、存储空间大小、带宽、价格、安全性和支持。了解不同提供商的服务承诺和用户评价也很重要。在当今互联网时代,越来越多的人开始通过虚拟主机来实现在线服务和数据存储,虚拟主机是一种通过网络提供计算机资源的模式,它允许用户在自己的电脑上运行各种应用程序和网站,...

智能推荐系统,提高用户满意度的新方法

好的,请提供你需要的信息或上下文。随着互联网的发展,越来越多的人开始使用虚拟主机来搭建自己的网站,虚拟主机是一种用于托管网页和应用程序的服务,它允许用户在服务器上创建独立的域名空间,从而实现多网站共存、资源共享等功能,对于一些用户来说,虚拟主机可能并不满足他们的需求,本文将介绍几种好的虚拟主机方案,...