结合http详解基于域名的虚拟主机访问详细原理及过程

简介:

服务器如何响应

1
2
[root@web01 blog] # netstat -lntup|grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5784 /nginx

启动nginx服务,系统就监听了本机的80端口(80端口是本机的所有网卡),所以只要客户端请求任意一块网卡的IP 80端口,nginx都会响应,客户端请求任意一块网卡ip的80端口,nginx服务都会看请求报文中其中有一个叫host:www.etiantian.org ,nginx服务器接收到请求报文后请求的域名,端口 ,会从nginx.conf配置文件中找虚拟主机,如果客户端的请求报文中没有虚拟主机名只有1个ip地址名字,那么nginx服务器只能把nginx.conf配置文件中默认第一个虚拟主机名以响应报文的形式发给客户端。本文中下文中第一个默认虚拟主机名为www.etiantian.org    

也即是如果客户端直接输入nginx的ip地址,那么nginx服务器响应报文的时候默认响应第一个虚拟主机名字给客户端。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@web01 conf] # cat nginx.conf
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  www.etiantian.org;
         location / {
             root   html /www ;
             index  index.html index.htm;
         }
     }
     server {
         listen       80;
         server_name  bbs.etiantian.org;
         location / {
             root   html /bbs ;
             index  index.html index.htm;
         }
     }
     server {
         listen       80;
         server_name  blog.etiantian.org;
         location / {
             root   html /blog ;
             index  index.html index.htm;
         }
     }
}
本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1957731如需转载请自行联系原作者

sandshell
相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
网络协议 Linux
HTTP协议基本原理简介(二)
HTTP协议基本原理简介(二)
23 1
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
163 0
|
1月前
|
缓存 前端开发
HTTP协议基本原理简介(三)
HTTP协议基本原理简介(三)
14 1
|
1月前
|
域名解析 开发工具 Windows
创建两个基于域名的虚拟主机1.www.aaa.com网页目录为/aaa2.www.bbb.com网页目录为/bbb
创建两个基于域名的虚拟主机1.www.aaa.com网页目录为/aaa2.www.bbb.com网页目录为/bbb
18 0
|
5天前
|
应用服务中间件 网络安全 Apache
解决跨域和https不能访问的问题
【4月更文挑战第10天】解决跨域和https不能访问的问题
23 2
解决跨域和https不能访问的问题
|
11天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
7 0
|
11天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
25 0
|
16天前
|
应用服务中间件 网络安全 nginx
nginx配置https访问
nginx配置https访问
26 0
|
17天前
|
关系型数据库 MySQL 数据安全/隐私保护
使用docker快速搭建wordpress服务,并指定域名访问
通过以上步骤,你可以使用Docker快速搭建WordPress服务,并通过指定的域名进行访问。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
19 1
|
26天前
|
应用服务中间件 nginx
nginx配置https和直接访问静态文件的方式
nginx配置https和直接访问静态文件的方式
28 3