nginx虚拟主机的别名配置
1 虚拟主机别名介绍及配置
所谓虚拟主机别名,就是为了虚拟主机设置除了主域名以外的一个或多个域名名字,这样能实现用户访问的多个域名对应同一个虚拟主机网站的功能。
以www.etiantian.org域名的虚拟主机为例,为其增加一个别名etiantian.org,使得访问
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@web01 bbs]
# curl -I 51cto.com
HTTP
/1
.1 301 Moved Permanently
Date: Sun, 20 Aug 2017 05:47:23 GMT
Content-Type: text
/html
Connection: keep-alive
Location: http:
//www
.51cto.com/
Load-Balancing: web03
Load-Balancing: web03
Load-Balancing: web03
[root@web01 bbs]
# curl -I baidu.com
HTTP
/1
.1 200 OK
Date: Sun, 20 Aug 2017 05:48:07 GMT
Server: Apache
Last-Modified: Tue, 12 Jan 2010 13:48:00 GMT
ETag:
"51-47cf7e6ee8400"
Accept-Ranges: bytes
Content-Length: 81
Cache-Control: max-age=86400
Expires: Mon, 21 Aug 2017 05:48:07 GMT
Connection: Keep-Alive
Content-Type: text
/html
|
2 新增一个etiantian.org的别名,只需要在www.conf的配置文件中server_name后面空格添加一个etiantian.org域名即可
1
2
3
4
5
6
7
8
9
10
11
|
[root@web01 extra]
# pwd
/application/nginx/conf/extra
[root@web01 extra]
# vim www.conf
server {
listen 80;
server_name www.etiantian.org etiantian.org;
location / {
root html
/www
;
index index.html index.htm;
}
}
|
然后平滑重启
1
|
[root@web01 extra]
# ../../sbin/nginx -s reload
|
在管理机m01上面验证
管理机新增一条etiantian.org的dns解析编辑/etc/hosts文件,新增如下解析
1
|
172.16.1.8 web01 www.etiantian.org bbs.etiantian.org blog.etiantian.org etiantian.org
|
在管理机上面curl以下etiantian.org即可,说明新增虚拟主机别名成功。
1
2
3
4
|
[root@m01 ~]
# curl etiantian.org
www
[root@m01 ~]
# curl www.etiantian.org
www
|
虚拟主机别名生产使用场景案例
1)多数企业网站都希望访问www.etiantian.org和etiantian.org所浏览的是同一个页面,若有这类需求,就可以让etiantian.org以别名的方式出现,这时两个域名都要解析到服务器的IP地址。
2)在老男孩的生产环境中曾经还利用过别名来监控集群下面的RS的URL是否正常。如:
1
|
server_name www1.tiantian.org www2.etiantian.org;
|
可以在监控服务器里配置hosts来监控RS www1.etiantian.org、www2.etiantian.org等地址是否正常,进而判断每一台机器的www.etiantian.org是否正常。如不适用别名则很难通过域名URL的方式检测判断节点下面的机器是否正常(因为这些集群节点的域名是同一个)
本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1957812如需转载请自行联系原作者
sandshell