Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)
admin
2023-03-19 12:41:42
0

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)



一、虚拟主机别名介绍

虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能。在生产环境中,www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的。

二、实施方法

第一种方法:Nginx虚拟主机的别名配置

  1. 更改wtf.conf配置文件

    [root@nginx-oldboy conf]# vim extra/wtf.conf

    3    server_name  www.afeilinux.com afeilinux.com;

  2. 比较更改前后配置文件


    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

  3. 语法检查与重新加载

    [root@nginx-oldboy conf]# nginx -t

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

    [root@nginx-oldboy conf]# nginx -s reload

  4. 更改hosts

    [root@nginx-oldboy conf]# vim /etc/hosts

    添加:192.168.8.117  www.afeilinux.com  afeilinux.com

  5. 测试

    [root@nginx-oldboy conf]# curl www.afeilinux.com

    第一次测试

    [root@nginx-oldboy conf]# curl afeilinux.com

    第一次测试

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

  6. 虚拟主机别名在生产中实际运用

    多数企业网站希望访问www.afeilinux.com和afeilinux.com时,所浏览的是同一个页面,若有这类需求,就可以让afeilinux.com以别名的方式出现,这时两个域名都要解析到服务器的IP地址。

第二种方法:Nginx rewrite

  1. Nginx rewrite概念

    和Apache等Web服务软件一样,Nginx rewrite的主要功能也是实现URL地址重写。Nginx的rewrite规则需要PCRE软件的支持,即通过perl兼容正则表达式语法进行规则匹配。所以在安装Nginx时要安装PCRE软件,同时也让Nginx支持了rewrite的功能,默认参数编译时,Nginx就会安装支持rewrite的模块,但是,也必须要有PCRE软件的支持。

    查看安装Nginx版本和模块的信息:

    [root@nginx-oldboy ~]# nginx -V

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

  2. rewrite指令语法

    语法:rewrite regex replacement[flag]

    默认值:none

    应用位置:server、location、if

    rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分的内容,重定向到replacement部分,结尾是flag标记。下面是个简单的URL rewrite跳转的例子:

    rewrite ^/(.*) http://www.afeilinux.com/$1 permanent;

    在上述指令中,rewrite为固定关键字,表示开启一条rewrite匹配规则,regex部分是^/(.*),这是一个正则表达式,表示匹配所有,匹配成功后跳转到http://www.afeilinux.com/$1。这里的$1是取前面regex部分括号里的内容,结尾是permanent;是永久301重定向标记,即跳转到后面的http://www.afeilinux.com地址上。

  3. Nginx rewrite的企业应用场景

    (1)可以调整用户浏览的URL,使其看起来更规范,合乎开发及产品人员的需求。

    (2)为了让搜索引擎收录网站内容,并让用户体验更好,企业会将鼎泰URL地址伪装成静态地址提供服务。

    (3)网站换新域名后,让旧域名的访问跳转到新的域名上,例如:让京东的360buy换成了jd.com。


    (4)根据特殊变量、目录、客户端的信息进行URL跳转等。

  4. Nginx rewrite 301跳转

    实验背景:实现域名从afeilinux.org跳转到www.afeilinux.org

    查看原来虚拟主机的配置:

    [root@nginx-oldboy extra]# cat org.conf

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

    更改之后的虚拟主机配置:

    [root@nginx-oldboy extra]# cat org.conf

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

  5. 说明:当用户访问afeilinux.org及下面的任意内容时,都会通过这条rewrite跳转到www.afeilinux.org对应的地址。

  6. 语法检测与nginx重启

    [root@nginx-oldboy extra]# nginx -t

    [root@nginx-oldboy extra]# nginx -s reload

  7. 测试

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

    说明:上图访问前的地址是:afeilinux.org,访问后的地址:www.afeilinux.org

    curl测试:

    Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)



相关内容

热门资讯

演员张静初,面临被起诉 近日,多位在演员张静初直播间购买过“优思益”产品的网友表示,目前仍未拿到退款,陷入退货无门的境地。5...
90分钟16条,特朗普的社媒账... 周六下午,特朗普将他的Truth Social账号变成了“AI垃圾工厂”,在短短90分钟内发布了16...
我,22岁,确诊为“妈” 又是一年母亲节。每年今天,大家都试图再次看见母亲,讨论她们的付出与局限,以“成为母亲”为界限,划分她...
重达11000克拉!缅甸发现“... 【环球网报道】美国哥伦比亚广播公司、英国天空新闻网等媒体援引缅甸官方媒体8日消息报道称,缅甸发现一块...
玻璃缝隙漏水怎么处理 1、检查窗户玻璃附近墙体的防水层,重新做防水层。2、查找原先的密封物,检查门窗与墙体的密封度,如果密...
热水器侧面的缝隙漏水可以修好吗 问题:热水器侧面的缝隙漏水可以修好吗回答:如果热水器侧面出现缝隙漏水的情况基本上都是可以修好的。首先...
洗面盆和台面缝隙漏水怎么办 洗菜盆漏水的修补方法1、如果是洗菜盆和台面衔接松动:如果是因为洗菜盆安装时没安装好,与台面缝隙过大,...
空调缝隙漏水怎么办 空调在一定的年限服务后,会出现一些问题,例如漏水。空调漏水是比较常见的问题,但有许多原因可能导致空调...
不用电的情况下空气开关跳闸是怎... 家用空气断路器跳闸的原因很好判断,如果漏电断路器脱扣后复位按钮突出,则可以断定电路有漏电,需要注意的...
宏福苑母亲节晚宴,女儿希望火中... 凤凰卫视记者在香港报道:有慈善机构为大埔宏福苑居民举办母亲节晚宴,参加的居民表示,经历大火后更深刻体...