У меня есть следующие две директивы сервера, включая conf.d / *. Conf. Когда я перехожу на сервер через общедоступный внешний IP-адрес, кажется, что он соответствует серверу 127.0.0.1, поскольку запись добавляется в файл localhost.access_log. Я ожидал, что это произойдет только при доступе через localhost. Я ожидал, что с внешнего IP-адреса будет соответствовать .host.tld server_name
директива или default_server
параметр.
Нужно ли мне обеспечивать порядок загрузки файлов conf? Почему прослушивание 127.0.0.1 должно быть сопоставлено таким образом? Это вторая директива местоположения, которая пуста?
server {
listen 127.0.0.1;
server_name localhost;
access_log /var/log/nginx/localhost.access_log main;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/localhost/htdocs;
}
server {
listen 80 default_server;
server_name .host.tld;
access_log /var/log/nginx/host.access_log main;
error_log /var/log/nginx/host.error_log info;
root /var/www/host/htdocs;
location = / {
index index.php index.html;
}
location / {
}
}
Изменение обоих listen
директивы 80
и добавив 127.0.0.1
имя в server_name
из localhost
сегмент зафиксировал это:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access_log main;
error_log /var/log/nginx/localhost.error_log info;
root /var/www/localhost/htdocs;
}
server {
listen 80 default_server;
server_name .host.tld;
access_log /var/log/nginx/host.access_log main;
error_log /var/log/nginx/host.error_log info;
root /var/www/host/htdocs;
location = / {
index index.php index.html;
}
...
}