当前位置: > Linux服务器 > nginx >

Nginx的虚拟主机配置

时间:2015-02-22 19:24来源:linux.it.net.cn 作者:IT

前几天提到,我需要把家里的树莓派、cubieboard等小功耗设备映射到公网,同时解决80被封的问题,那么随之而来的就是域名解析。
不想折腾原有的几个域名(其实是害怕被封),于是就买了一个搬瓦工64M的VPS+申请了几个免费的.tk域名

于是问题就来了,情况是这样的,我申请了aaa.tk和bbb.tk等域名,然后只是想把家里的树莓派解析为pi.aaa.tk,cubieboard解析为cb3.bbb.tk,理论上来说,我写一个新的配置文件,扔到/etc/nginx/sites-available里,然后ln -s 到/etc/nginx/sites-enabled 里即可。

实际操作过程中,发现虽然使用pi.aaa.tk、cb3.bbb.tk两个二级域名访问的目标电脑是OK的,但是www.aaa.tk和www.bbb.tk等等二级域名也都指向了cb3,这样肯定是不对的

第一次尝试:
在默认host的配置文件中将www.aaa.tk、www.bbb.tk加入server_name后面,重启nginx后生效。
问题:我用的是泛域名解析,直接把.aaa.tk和.bbb.tk解析到了vps上,也就是说,随便用aaa.aaa.tk也能解析到vps,而默认host的配置文件中又没有该域名对应server_name,所以访问又被解析到cb3上。


第二次尝试:
pi.aaa.tk和cb3.bbb.tk的host文件还是照样写。
但是在期望是默认host的配置文件中如下填写:

server {
        listen   80 default_server; 
        listen   [::]:80 default_server ipv6only=on; 

        【此处省略若干行】

        server_name   _;

        location / {
          【以下省略若干行】

即,在listen的ip和端口后方增加default_server,同时在server_name部分以 _ 来描述。
保存退出,重启nginx,问题解决。



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容