NGINX服务器名称不起作用2

mwecs4sa  于 2023-02-11  发布在  Nginx
关注(0)|答案(5)|浏览(326)

我的网站总是在路径localhost打开,但我的服务器名称有其他域名.我怎么能解决它?我的配置
https://i.stack.imgur.com/MXm5k.jpg

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {

    server {
        listen 80;
        server_name  mydomain;

        #charset koi8-r;

        access_log  logs/host.access.log;

        location / {
            proxy_pass http://127.0.0.1:3037;
        }

    }

}
jucafojl

jucafojl1#

将您的配置更改为以下

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {

    server {
        listen 80 default_server;
        return 403;
    }

    server {
        listen 80;
        server_name  mydomain;

        #charset koi8-r;

        access_log  logs/host.access.log;

        location / {
            proxy_pass http://127.0.0.1:3037;
        }

    }

}

如果没有虚拟主机匹配,第一个服务器块是nginx服务请求的默认服务器,所以如果只想允许特定的server_name,而拒绝其他所有请求,则需要2个块

nnvyjq4y

nnvyjq4y2#

为了测试和接受"全部捕获",可以使用server_name _
出发地:http://nginx.org/en/docs/http/server_names.html
在catch-all服务器示例中,可以看到奇怪的名称"_":

server {
    listen       80  default_server;
    server_name  _;
    return       444; 
}
cnjp1d6j

cnjp1d6j3#

如果您使用Ubuntu,您还必须在/etc/hosts中定义您的本地ip的服务器名称:127.0.0.1 mydomain www.mydomain.com mydomain.com

bbuxkriu

bbuxkriu4#

您必须将自定义域名与计算机的本地IP地址匹配。这可以使用默认的127.0.0.1或通过在Ubuntu终端中键入命令“ip addr”来完成。此命令将列出计算机提供的两个IP地址。您可以将任何IP地址与“/etc/hosts”文件中的自定义域匹配。

nwlqm0z1

nwlqm0z15#

解决方案:添加错误的url到“/etc/hosts”,如下所示:enter image description here

相关问题