我有一台服务器正在运行:http://localhost:8080
我正在配置示例NGINX
服务器。
我从互联网上复制了以下配置:
# user nobody;
worker_processes 1;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
# gzip on;
server
{
listen 80;
server_name mydomain01.com www.mydomain01.com;
location /
{
proxy_pass http://localhost:8080;
include "../proxy_params.conf";
}
}
}
在hosts文件中,我只有以下条目:
127.0.0.1 mydomain01.com
127.0.0.1 www.mydomain01.com;
127.0.0.1 mydomain02.com
127.0.0.1 www.mydomain02.com;
当我转到:http://mydomain01.com时,我会收到与以下内容相同的内容:http://localhost:8080
我的问题是:
为什么我去的时候:http://mydomain02.com我也会收到与http://localhost:8080相同的内容?
我认为我不应该获取该内容,因为最后一个域不在NGINX
配置上。
上面的配置是否有错误?
谢谢!
答案 0 :(得分:0)
nginx
始终包含默认服务器,它将处理与server_name
指令不匹配的服务器名称的请求。如果您未定义default_server
,nginx
将使用匹配server
的第一个location
块。有关详细信息,请参阅this document。