nginx多个域名配置项目

#官网
server {
    listen       80;
    server_name  http://www.xxxx.com;

    location / {
        root   /home;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

#app
server {
    listen       80;
    server_name  http://www.app.xxxx.com;

    location / {
        root   /home/app;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

#后台
server {
    listen       80;
    server_name  http://www.admin.xxxx.com;

    location / {
        root   /home/admin;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

app指向的还是第一个地址,是怎么回事?

阅读 2.4k
1 个回答

server_name 指主机名,不带协议名和端口号。

server_namehttp:// 都删掉。


针对评论区配置的测试结果:

首先修改本地 Hosts,以下配置中出现的域名全都指向本机。

然后按照配置中出现的 root 路径,各新建一个 index.html,文件内容与对应域名保持一致。

最后 curl 结果如下图。

image.png

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题