0

0

nginx多域名转发如何实现

WBOY

WBOY

发布时间:2023-05-13 12:58:20

|

2690人浏览过

|

来源于亿速云

转载

基础概念

dns

DNS是Domain Name System的缩写,即域名系统。DNS是internet的一项服务,一般叫域名服务或者域名解析服务,主要是提供网站域名与ip地址的相互转换的服务。

域名和IP的对应关系

域名与IP地址之间是呈一一对应的关系,但多个域名可以对应同一个IP地址。就像一个人的姓名和身份证号码之间的关系,显然记忆人的名字要比身份证号容易的多。IP地址是网络上标识用户站点的数字地址,为了简单好记,采用域名来代替IP地址表示站点地址,DNS讲域名解析成IP地址,使其一一对应。

DNS工作原理

在Internet上,一个域名要由两台域名服务器提供“权威性的”域名解析。如果是国际域名,域名注册管理机构就是Interinc,如果是国内域名,域名注册管理机构就是CNNIC。所有的域名必须在两个注册机构上注册才能正常使用。

比如,你现在要访问一个网站,例如www.baidu.com,你的电脑需要知道这个站点的IP地址是多少才能访问。于是它会自动向您所在区域的“主控DNS”服务器发出询问,即“www.baidu.com”的IP是多少?如果该服务器上没有该域名的记录,它会到上一级的DNS去查找,一直重复进行直到找到为止,如果到最后一级仍然没有找到。此时会到权威性的DNS上查找,然后把对应的ip信息返回给你的电脑。你的电脑就可以与www.baidu.com对应的服务器进行通信了。这样一级一级的查询被称为“递归式”的查询。

hosts文件

hosts文件是本地的一个无后缀的系统文件,需要管理员权限才能修改其内容。从上面DNS的解析过程可以看出,每次DNS解析可能会经过很多DNS服务器的转发最终才能获取到真正的IP地址,这样会很没效率。所以在计算机的本地也有一个DNS解析文件,即hosts文件。当你把hosts中的 www.baidu.com指向正确的百度服务器地址的时候,电脑会与正确的服务器进行交互。如果本地hosts,没有配置映射关系,那么它会到局域网的DNS服务器寻找对应的映射关系。如果仍然没有,它就会在本地对应节点的DNS去查找,重复上面所说的步骤。

nginx反向代理

代理:其实就是中介,A和B本来可以直连,但是在A和B之间加入了C。 正向代理

即上面的dns,它代理的是客户端,为客户端收发请求,对server断是透明的。用浏览器访问 http://www.google.com 时,被残忍的block,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结构再返回给我。

Napkin AI
Napkin AI

Napkin AI 可以将您的文本转换为图表、流程图、信息图、思维导图视觉效果,以便快速有效地分享您的想法。

下载

nginx多域名转发如何实现

反向代理

即nginx的一个功能,它代理的是服务器,它为server端转发请求,对client端是透明的。当我们请求 www.baidu.com 的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

nginx多域名转发如何实现

nginx加hosts做多域名映射

比如你的两个应用的域名是a.test.com和b.test.com。

找到C:WindowsSystem32driversetc目录下的hosts文件,用超级管理员权限打开。在文件尾部加入

a.test.com 127.0.0.1
b.test.com 127.0.0.1

修改nginx.conf文件(由于nginx.conf的配置很多,这里只是用最简单的事例说明)在http的{}内部加入server。加入内容如下:

server {
  listen 80;
  server_name a.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8888; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}

server {
  listen 80;
  server_name b.test.com;   //填入自己项目对应的域名
  charset utf-8;
  error_log logs/error.log;
  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_pass http://127.0.0.1:8889; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号)
  }
}

修改完以后,再重新加载nginx配置文件

nginx.exe -s reload

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

20

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

28

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

149

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

120

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

41

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

14

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

23

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

168

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.3万人学习

nginx浅谈
nginx浅谈

共15课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号