【域名解析】如何将域名指向对应服务器IP

简介: 【域名解析】如何将域名指向对应服务器IP



🌷一、域名解析基础知识

🌼1. 基本概念

定义:

域名解析是将域名转换为计算机可识别的IP地址的过程。因为计算机在互联网上使用IP地址进行通信,而人们更容易记住具有意义的域名,所以域名解析起到了连接人类和计算机之间的桥梁作用。

简单示例:用户使用域名为www.example.com,当用户在浏览器中输入该域名时,系统会通过域名解析将其转换为相应的服务器IP地址如149.88.68.125,以便找到正确的服务器。

1. 记录类型

  1. A-将域名指向一个IPV4地址【用的最多】
  2. CNAME-将域名指向另外—个域名
  3. AAAA-将域名指向一个IPV6地址
  4. NS-将子域名指定其他DNS服务器解析
  5. MX-将域名指向邮件服务器地址
  6. SRV-记录提供特定的服务的服务器
  7. TXT-文本长度限制512,通常做SPF记录(反垃圾邮件)
  8. CAA-CA证书颁发机构授权校验
  9. 显性URL-将域名重定向到另外—个地址
  10. 隐性URL-与显性URL类似,但是会隐藏真实目标地址

2. 主机记录【域名前缀】

比如:常用主机记录及含义如下:

比如解析主机记录是@,则使用 主域名example.cn 等价于访问www.example.cn

3. 记录值

一般是服务器的IP地址,如149.88.68.125

域名解析过程如下:

  1. 用户在浏览器中输入 www.example.com。
  2. 操作系统首先检查本地缓存中是否有该域名对应的IP地址,如果有,就直接使用缓存中的IP地址。
  3. 如果本地缓存没有该域名的记录,操作系统会发送一个DNS请求到本地DNS服务器。
  4. 本地DNS服务器如果有缓存该域名对应的IP地址,则返回给操作系统。否则,它会向根DNS服务器发出请求。
  5. 根DNS服务器返回顶级域(TLD)服务器的IP地址。
  6. 本地DNS服务器向TLD服务器发出请求,获取下一级域的DNS服务器的IP地址。
  7. 本地DNS服务器向下一级域的DNS服务器发出请求,直到最终获取到www.example.com对应的IP地址。
  8. 本地DNS服务器将获取到的IP地址返回给操作系统,并同时缓存该记录。
  9. 操作系统使用获取到的IP地址与服务器建立连接,开始访问网站。

这样,域名解析使得用户只需输入易记的域名,而不必记住复杂的IP地址。


🌷二、域名解析服务器IP地址

🌼1. 操作步骤

【域名解析添加记录】

说明:

  1. 主机记录一般填写@、www
  2. 记录类型填A
  3. 记录值填写服务器IP地址

比如解析主机记录是@,则使用 主域名example.cn 等价于访问www.example.cn

添加结果如下:


🌼2. 验证

本地使用win+R输入cmd进入CMD.exe窗口

输入

ping 域名

查看是否返回主机信息。

示例

使用了域名sarpro.cn绑定了服务器【IP为:149.88.68.125】

cmd输入

ping sarpro.cn

显示内容如下:

🌷三、域名解析深入

🌼1. 不同的子域名

比如让chat1.sarpro.cn指向服务器端口1002,而让chat2.sarpro.cn指向同一服务器端口1008。

操作步骤:

1. 域名解析添加记录

2. /etc/nginx/sites-available/ 目录中,可以创建一个新的配置文件,例如 chat,然后在 sites-enabled 目录中创建符号链接,将其链接到 sites-available 目录中的配置文件。以下是具体步骤:

1. 创建新的配置文件 /etc/nginx/sites-available/chat

server {
    listen 80;
    server_name chat1.sarpro.cn;
    location / {
        proxy_pass http://127.0.0.1:1002;  # 将请求代理到端口 1002
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
server {
    listen 80;
    server_name chat2.sarpro.cn;
    location / {
        proxy_pass http://127.0.0.1:1008;  # 将请求代理到端口 1008
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

2. 创建符号链接:

sudo ln -s /etc/nginx/sites-available/chat /etc/nginx/sites-enabled/

3. 验证 Nginx 配置是否正确:

sudo nginx -t

如果没有错误,重新加载 Nginx:

sudo systemctl reload nginx

🌼2. 使用不同的端口

比如让www.sarpro.cn/chat1指向服务器端口1002,而让www.sarpro.cn/chat2指向同一服务器端口1008。

操作步骤:

1. 域名解析添加记录

2. /etc/nginx/sites-available/ 目录中,可以创建一个新的配置文件,例如 chat.

以下是具体步骤:

1. 创建新的配置文件 /etc/nginx/sites-available/chat

proxy_buffering off;
upstream chatgpt-web-1002 {
    server 127.0.0.1:1002 weight=1; #修改成自己的端口
}
upstream chatgpt-web-2023 {
    server 127.0.0.1:2023 weight=1;
}
upstream chatgptmj-web-1080 {
    server 127.0.0.1:1080 weight=1;
}
upstream chatgptmj-web-7068 {
    server 127.0.0.1:7068 weight=1;
}
server {
    listen 80;
    server_name www.sarpro.cn sarpro.cn;
    location /chat1 {
        proxy_pass http://chatgpt-web-1002/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat2 {
        proxy_pass http://chatgpt-web-2023/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat3 {
        proxy_pass http://chatgptmj-web-1080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat4 {
        proxy_pass http://chatgptmj-web-7068/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location / {
        proxy_pass http://chatgptmj-web-1080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    #return 301 https://www.sarpro.cn$request_uri;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    server_name www.sarpro.cn;
    ssl_certificate /etc/nginx/www.sarpro.cn.pem; #修改成自己的
    ssl_certificate_key /etc/nginx/www.sarpro.cn.key; #修改成自己的
    location /chat1 {
        proxy_pass http://chatgpt-web-1002/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat2 {
        proxy_pass http://chatgpt-web-2023/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat3 {
        proxy_pass http://chatgptmj-web-1080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location /chat4 {
        proxy_pass http://chatgptmj-web-7068/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
    location / {
        proxy_pass http://chatgptmj-web-1080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

目录
相关文章
|
11天前
|
网络协议 Ubuntu Linux
|
30天前
|
存储 缓存 负载均衡
阿里云DNS常见问题之域名DNS跳转有问题如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
30天前
|
域名解析 弹性计算 网络协议
阿里云DNS常见问题之确认域名是否在Private zone解析失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
30天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之新购域名阿里云DNS无法解析如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
30天前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之DNS域名一直连不上如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
1月前
|
JavaScript 前端开发 应用服务中间件
通过域名的方式访问服务器里的资源
通过域名的方式访问服务器里的资源
25 0
|
1月前
|
数据安全/隐私保护 Windows
Windows Server 2003 搭建邮件服务器实现自建邮箱域名及账户并连接外网
Windows Server 2003 搭建邮件服务器实现自建邮箱域名及账户并连接外网
30 0
|
1月前
|
移动开发 小程序
微信小程序配置服务器域名和业务域名
微信小程序配置服务器域名和业务域名
271 0
|
2月前
|
域名解析 缓存 网络协议
使用IP地址可以访问应用系统,但通过域名无法访问时
使用IP地址可以访问应用系统,但通过域名无法访问时
59 1
|
2月前
|
域名解析 网络协议 数据安全/隐私保护
DNS解析问题之授权RAM子账号管理指定域名如何解决
DNS解析是指将人类可读的域名转换成机器可读的IP地址的过程,它是互联网访问中不可或缺的一环;本合集将介绍DNS解析的机制、类型和相关问题的解决策略,以确保域名解析的准确性和高效性。
231 1

推荐镜像

更多