Nginx虚拟主机与域名解析

news2025/7/9 20:28:17

文章目录

    • 一、域名、dns、ip地址之间的关系
    • 二、浏览器、nginx与http协议
    • 三、虚拟主机原理
    • 四、域名解析与泛解析
      • 1.公网ip解析
      • 2.内网ip解析
    • 五、域名解析相关企业项目实战技术架构
      • 1.多用户二级域名
      • 2.短网址
      • 3.httpDNS

一、域名、dns、ip地址之间的关系

域名代表了一个公司、一个人或者一个组织,域名后缀分为很多种,其中com代表一个公司,cn代表中国等
有了域名就可以访问DNS服务器找到与他映射的IP地址,从而进行访问。通俗的来说就是:
每一个电脑主机可以有多个ip地址,可以有ipv4、ipv6不同类型的ip地址。通过ip地址可以找到相应的电脑主机。
而域名的作用是通过域名找到对应的电脑主机(一个公司的后台服务器公网ip可能会经常改变,但域名只有那么一个或者几个)
域名解析需要使用到DNS服务器的DNS协议(一种约定),httpDNS使用http协议进行解析。
可以认为是以下情形但是实际上会比这个复杂的多;

	想要访问
主机=======>ip1对应的主机

	 ip1域名
主机=======>DNS服务器

     ip1地址
主机<=======DNS服务器

     访问
主机=======>ip1地址对应的主机

二、浏览器、nginx与http协议

nginx与浏览器都实现了http协议,http协议是nginx与浏览器之间的一个约定。

三、虚拟主机原理

原本一台服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务,虚拟主机,就是把一台物理服务器划分成多个 “虚拟” 的服务器,这样我们的一台物理服务器就可以当做多个服务器来使用,从而可以配置多个网站。Nginx 提供虚拟主机的功能,就是为了让我们不需要安装多个 Nginx,就可以运行多个域名不同的网站。Nginx 下,一个 server 标签就是一个虚拟主机。nginx 的虚拟主机就是通过 nginx.conf 中 server 节点指定的,想要设置多个虚拟主机,配置多个server节点即可。可以看后面配置文件怎么配。

四、域名解析与泛解析

1.公网ip解析

可以去网上注册自己想要的域名,然后通过域名泛解析使不同级别的域名映射到nginx服务器内配置的不同主机内。

请添加图片描述

这里以解析腾讯云为例(泛解析)

请添加图片描述
请添加图片描述
上述解析操作在腾讯云内有更为专业的介绍,大家可以上去看看。

2.内网ip解析

由于是练习环境就不带大家上我的云服务器练手了,直接修改windows的host文件,达到解析ip到虚拟机的目的。

这里我虚拟机的ip地址为:192.168.200.128

host文件内的配置如下:

#在hosts文件中,没有通配符的概念(即泛解析),所以需要我们一个ip对应一个域名,如果要一个ip要对应多个子域名,只有自己一个一个的添加,这个时候本地搭建dns服务器就能泛解析。市面上有成型的工具可以搭建一个小型泛解析网络,在这里我们为了练习方便添加几个解析样例即可满足我们的需求。
192.168.200.128 aiecp.com
192.168.200.128 one.aiecp.com
192.168.200.128 two.aiecp.com
192.168.200.128 three.aiecp.com

解析ip的目的就是为了测试下面几个系统小案例,其中测试用到的数据如果没有进行域名泛解析都需要在本地主机文件内进行配置。

五、域名解析相关企业项目实战技术架构

1.多用户二级域名

是基于域名进行泛解析到nginx服务器实现的。

nginx将域名解析后,通过一定的匹配规则将请求转发到配置文件内指定的路径上。

然后通过url中的二级或多级域名找到用户信息返回出去。

# 配置文件
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    #第一个主机
    server {
        listen       80;
        # 因为这里使用了通配符,所以其余没有精准匹配的域名将解析在这里
        server_name  *.aiecp.com;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
   #第二个主机
       server {
        listen       80;
        server_name  one.aiecp.com;
        location / {
            root   /aiecp/page1;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
   #第三个主机
      server {
        listen       80;
        server_name  two.aiecp.com;
        location / {
        	# 		这里写的路径是nginx服务器所在系统的根路径
            root   /aiecp/page2;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

请添加图片描述

2.短网址

实际请求:http://www.aiecp.com/uuid

原本请求:http://www.aiecp.com/xxxxxxxxxxxxxxxxxaisdsdhasjabxjkzbxaxxxxxal1j122131223nknxckancxnanc…?asdsad=asdassdasd

类似于以上的url中,跟随在域名后面的第一个字段就可以作为一个短网址,短网址的作用就是通过简洁,较短的网址去访问长或者参数多的网址。

每一短网址的值唯一,可以通过请求一个映射服务器,将uuid部分映射成为一个地址,然后进行重定向请求。

3.httpDNS

HTTPDNS 就是使用 HTTP 协议(不使用DNS协议)向 httpDNS 服务器进行请求,获取想访问域名对应的IP 地址,简化了请求的复杂性。在请求 httpDNS 服务器的时候,使用 IP 直接访问。跳过使用系统DNS服务器解析的过程,使用httpDNS替代DNS解析系统的功能。(前提是内置了httpDNS服务器的ip地址)一般用于App,不可用于浏览器。

有以下特点:

  • 跳过 LocalDNS,防止本地DNS劫持
  • 直接通过 IP 访问,平均访问延迟下降
  • 服务器算法筛选最佳节点 IP,提升请求成功率
  • 快速更换 IP(不受TTL的限制)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/5354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言之文件的使用(下)

目录 前言 一、文件的随机读写 1.如何进行随机读写 2.相关函数&#xff08;含例子&#xff09; 1.fseek函数 2.ftell函数 3.rewind函数 二、文件读取结束的判定 1.判定结束的相关函数 1.feof函数 2.ferror函数 2.不同类型文件 1.文本文件和二进制文件 2.不同文件的所判断的返回…

win10怎么安装iis

在win10系统桌面&#xff0c;点击开始菜单里的设置图标。 win10怎么安装iis 在Windows设置界面&#xff0c; 点击应用。 win10怎么安装iis 在应用界面&#xff0c;点击【程序和功能】。 win10怎么安装iis 在程序管理界面&#xff0c;点击启用或关闭Windows功能。 win10怎…

Python采集剧本杀店家数据信息,做可视化演示

前言 哈喽啊&#xff0c;友友们 有喜欢玩桌游或者剧本杀的吗 其实我自己对这个不太感兴趣哈哈&#xff0c;但是也玩过 正好又有朋友约着出去&#xff0c;就是不知道哪家店更值得去 所以趁着还有几天就用python来采集一些 店家的数据信息 并做个可视化演示吧 环境使用: P…

如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?

种子点功能连接方法基本概念和实现 种子点的功能连接基本概念功能连接在数据处理里的具体应用如何使用 Dpabi, AFNI 和 FSL 计算种子点功能连接呢?选择种子点利用DPABI软件进行种子点的功能连接利用AFNI (3dNetCorr)进行种子点的功能连接利用FSL (fslmeants + fsl_glm)进行…

Linux常用命令详解

系列文章目录 Linux 环境搭建以及xshell远程连接_crazy_xieyi的博客-CSDN博客 ls 该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息。 常用选项&#xff1a; -a 列出目录下的所有文件&#xff0c;包括以. 开头的隐含文件。-d 将目录…

探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍

探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍 文章目录探花交友_第1章_项目介绍以及实现登录功能_第2节_项目介绍2、项目介绍2.1、项目背景2.2、市场分析2.3、目标用户群体2.4、技术方案2.5、技术架构2.6、技术解决方案2.7、技术亮点2.8、开发方式2.9、基础环境功能…

[附源码]计算机毕业设计JAVA博客系统设计

[附源码]计算机毕业设计JAVA博客系统设计 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

自适应,响应式以及图片的性能优化(响应式图片)

自适应:最常见的就是淘宝无限适配[移动端]rem单位 index.js 2.0 mirrors / amfe / lib-flexible GitCode 可以将这个淘宝无限适配的index.js引入自己的文件中 (它的核心原理就是改变html的font-size的字体大小) 响应式:一个url可以响应多端 响应式最常见的就是媒体查询 …

这款键盘你真的要考虑一下!——Keychron K3测评

家人们&#xff01;这款键盘你真的要考虑一下&#xff01;&#xff01;&#xff01; 如果你是一名程序员&#xff0c;每天在键盘上一顿噼里啪啦&#xff1b;如果你是职场人士&#xff0c;需要长期码字&#xff1b;如果你是游戏爱好者&#xff0c;对键盘有着极致追求&#xff0…

用python实现提高自己博客访问量

文章目录前言1、整体逻辑2、代码实现前言 你还在为自己博客的访问量不高而烦恼吗&#xff1f;我教你如何提高访问量 我发现CSDN上&#xff0c;自己点击自己的博客&#xff0c;可以增加访问量&#xff0c;但是在一定时间内点击同一篇博客&#xff0c;访问量无法再次增加&#x…

Vue3 - <script setup> 单文件组件语法糖的使用教程示例 (SFC)

概念 它是在 单文件组件 (SFC) 中使用组合式 API 的编译时语法糖&#xff0c;解决 vue3 中 setup() 需要繁琐将声明的变量、函数以及 import 引入的内容通过 return 向外暴露&#xff0c;才能在<template> 使用的问题。 小示例 是不是感觉似懂非懂&#xff1f;先来看个…

【蓝桥杯Web】第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组 | 精品题解

&#x1f4d1; 目录&#x1f53d; 前言1️⃣ 数据类型检测2️⃣ 渐变色背景生成器3️⃣ 水果叠叠乐4️⃣ element-ui 组件二次封装5️⃣ http 模块应用6️⃣ 新课上线啦7️⃣ 成语学习8️⃣ 学海无涯9️⃣ 逃离二向箔&#x1f51f; 梅楼封的一天&#x1f53c; 结语&#x1f53d…

Qt编写4K/8K大分辨率播放器(8K占用1%CPU)

一、前言 在经过多种内核的洗礼以后&#xff0c;逐渐对不同内核的不同音视频文件和视频流进行大量的对比测试&#xff0c;比如测试对各种格式的支持性&#xff0c;对各种网络流的支持程度&#xff0c;在同一个地址下占用的CPU/GPU资源比对&#xff0c;最终发现播放器这块mpv优…

【数据结构】单链表(不带头结点)基本操作的实现(C语言)

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f40c; 个人主页&#xff1a;蜗牛牛啊 &#x1f525; 系列专栏&#xff1a;&#x1f6f9;初出茅庐C语言、&#x1f6f4;数据结构 &#x1f4d5; 学习格言&#xff1a;博…

阿里巴巴任庚:数字城市建设的“两核三转和四横五纵”

阿里巴巴集团副总裁 阿里云智能中国区总裁 任庚 推进数字中国建设是党和国家制定的重要战略&#xff0c;是以数字化转型整体驱动生产方式、生活方式和治理方式的变革&#xff1b;数字城市建设是数字中国建设的重要组成部分&#xff0c;是数字中国建设的先行实践&#xff0c;准确…

【Turtle合集】火遍抖音的五款魔法阵终于被我找到了(初代萌王,童年的小樱回来了)

导语 ​ 小编在昨天看了一个非常好玩的充电器&#xff0c;就是魔法阵充电器。这种感觉&#xff0c;完全是满满的中二气 息啊。魔法阵开启&#xff01;哈哈哈&#xff08;感觉有点儿幼稚&#xff0c;但是还挺有趣的&#xff09; ​ 魔法阵一直都出现在小说、动漫、电影、电视…

MySQL-无锁读

快照 快照是一个指定时间点的数据表示&#xff0c;也就是&#xff0c;在指定时间点的数据版本&#xff0c;即使其他事务对源数据版本做出修改&#xff0c;快照对应的数据版本也不会发生变化&#xff0c;主要是用于事务隔离级别中提供一致性读。 一致性读 一致性读是指一个读…

Chrome调试工具和Emmet语法

调试工具的使用&#xff1a; 打开页面&#xff0c;鼠标"右击"检查&#xff1a; Ctrl滚轮可以放大开发工具代码的大小&#xff1a; 右边CSS样式可以改变数值&#xff08;左右箭头或者直接输入&#xff09;和查看颜色&#xff0c;以此来即时改变网页的元素设置 Ctr…

【C】语言文件操作(二)

&#x1f648;个人主页&#xff1a; 阿伟t &#x1f449;系列专栏&#xff1a;【C语言–大佬之路】 &#x1f388;今日心语&#xff1a;越忙&#xff0c;越要沉住气&#xff01; 继【C】语言文件操作&#xff08;一&#xff09;中我们详细地介绍了文件的顺序读写等一系列函数&…

【数据结构与算法】ArrayList与顺序表

✨个人主页&#xff1a;bit me ✨当前专栏&#xff1a;数据结构 ✨每日一语&#xff1a;上海就是商海&#xff0c;北京就是背景&#xff0c;誓言就是失言&#xff0c;彩礼就是财力&#xff0c;理想就是离乡&#xff0c;而平民就要拼命 ArrayList与顺序表&#x1f4a6;一.线性表…