我的网站始终在路径localhost中打开,但我的server_name还有其他domen名称。我怎么解决它? 我的配置
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;
}
}
}
答案 0 :(得分:1)
将配置更改为以下
#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将提供请求。所以你需要有2个区块,以防你只想让特定的server_name
被允许并且全部被拒绝
答案 1 :(得分:0)
为了测试并接受“全能”#34;您可以使用server_name _
来自:http://nginx.org/en/docs/http/server_names.html
在catch-all服务器示例中,可以看到奇怪的名称“_”:
server {
listen 80 default_server;
server_name _;
return 444;
}
答案 2 :(得分:0)
如果您使用的是Ubuntu,还必须在/etc/hosts
中为本地ip定义服务器名称:
127.0.0.1 mydomain www.mydomain.com mydomain.com
答案 3 :(得分:0)
您必须将自定义域名与您机器的本地 IP 地址匹配。 这可以使用默认的 127.0.0.1 或通过在 Ubuntu 终端中键入命令“ip addr”来完成。此命令将列出您的机器提供的两个 IP 地址。 您可以将任何 IP 地址与“/etc/hosts”文件中的自定义域进行匹配。