跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • nginx域名配置问题,求大佬指点一下
未分類
15 4 月 2020

nginx域名配置问题,求大佬指点一下

秋风下的落叶 大佬有话说 :

nginx域名配置问题,求大佬指点一下

我的小鸡上有两个网站,分别是A和B,A网站我配置了域名,B网站配置是localhost,然后我用ip访问,我的目的是想实现访问B网站的,但是不知道为啥死活都是访问到A网站去了。为啥我配置了域名,又没有用域名访问还是是一直访问到A网站的?

A网站配置
server {
    listen       80;
    server_namewww.aaa.xyz aaa.xyz;

    root   /my/web/aaa;
    indexindex.html index.htm index.php;

    location ~ .php$
    {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_indexindex.php;
      fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
      include      fastcgi_params;
    }
}

B网站配置
server {
    listen       80;
    server_namelocalhost;

    root   /my/web/bbb;
    indexindex.html index.htm index.php;

    location ~ .php$
    {
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_indexindex.php;
      fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
      include      fastcgi_params;
    }
}

我已经重启过nginx的了,还是不行

jekyll 大佬有话说 :

空主机头的路径没配好,nginx.conf里改

iks 大佬有话说 :

本帖最后由 iks 于 2020-4-15 14:50 编辑

B配置如下
server {
    listen 80 default_server;
    listen 443 ssl http2 default_server;
    server_name_;

如果加了 listen 443 ssl http2 default_server; 需要同时配置好证书,其他不变

秋风下的落叶 大佬有话说 :

iks 大佬有话说 : 2020-4-15 14:49
B配置如下

如果加了 listen 443 ssl http2 default_server; 需要同时配置好证书,其他不变 …

果然加了default_server就可以了。

大佬,为啥会这样奇怪的呢?那我a网站的域名配置相当于没啥用了?

iks 大佬有话说 :

nginx里,server_name 段没有配置则默认对空主机头和不匹配主机头发送第一个server段的配置;或发送 listen 后指定了 default_server 的配置

iks 大佬有话说 :

秋风下的落叶 大佬有话说 : 2020-4-15 14:53
果然加了default_server就可以了。

大佬,为啥会这样奇怪的呢?那我a网站的域名配置相当于没啥用了? …

只有在主机头为 www.aaa.xyz aaa.xyz (即A主机 server_name 指定的)的请求会使用A主机的配置

秋风下的落叶 大佬有话说 :

iks 大佬有话说 : 2020-4-15 14:56
只有在主机头为 www.aaa.xyz aaa.xyz (即A主机 server_name 指定的)的请求会使用A主机的配置 …

就是说我B网站没有配置域名,所以nginx默认会指向第一个网站?

iks 大佬有话说 :

秋风下的落叶 大佬有话说 : 2020-4-15 15:05
就是说我B网站没有配置域名,所以nginx默认会指向第一个网站?

B的server_name 为 _ ,则以IP访问(即空主机头)会打开B,其他如 ccc.example.com(你nginx配置没有的任意域名)还会采用第一个server的配置;
如果你配置了 default_server,则IP访问(即空主机头)和 ccc.example.com(你nginx配置没有的任意域名)均采用配置了 default_server 的配置

小脑袋困掉了 大佬有话说 :

去通读一遍nginx的官网文档。

秋风下的落叶 大佬有话说 :

iks 大佬有话说 : 2020-4-15 15:13
B的server_name 为 _ ,则以IP访问(即空主机头)会打开B,其他如 ccc.example.com(你nginx配置没有的任意 …

大佬,再请教一下。

比如我A、B两个网站,对应的是两个文件夹,然后我现在想用http://ip/a访问A网站,http://ip/b访问B网站,这种要怎么配置呢?

要求不要把A、B两个网站的文件放在同一个目录。必须要分开,最好是分开两个大的根目录,而不是把网站指向C目录,然后再把A/B两个网站的文件夹放到C下面。能实现吗?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具