Я получил настройку балансировщика нагрузки nginx с двумя сайтами. IP-адрес балансировщика нагрузки - 192.168.123.10. Я хочу получить локальный доступ к двум сайтам, чтобы проверить, все ли работает. Но я немного озадачен именами хостов и доменных имен. Я дал первому сайту имя хоста: «test» и имя домена «mytest.local». Я прочитал в руководстве, что если я хочу получить доступ к сайту, я должен перейти на test.mytest.local и сделать так, чтобы DNS для этого адреса указывала на IP-адрес балансировщика нагрузки.
Но я не понимаю, как мой компьютер узнает, какой сайт я хочу, потому что, если мой другой сайт, который я балансирую, - это anothertest.mytest.local, и он разрешается на тот же IP-адрес, как это будет по-другому?
Я не настраивал DNS, я просто хочу проверить, работает ли nginx, могу ли я получить доступ к сайту test.mytest.local локально? (без настройки днс)?
Да, можно, редактирование /etc/hosts
как это:
192.168.0.10 example.com.local
В этом файле он сначала проверяет, когда вы пытаетесь разрешить любое имя хоста, затем он продолжает использовать DNS-серверы. Я говорю это, чтобы вы знали, что, например, если вы добавите 1.2.3.4 google.com
к /etc/hosts
, ты не сможешь добраться до настоящего google.com
«Серверные блоки NGINX» - это то, что вы ищете.
Веб-клиенты (например, Firefox или Chrome) отправляют предполагаемый URL-адрес на веб-сервер, следовательно, веб-серверы могут предоставлять разные сайты на одном IP-адресе в зависимости от «имени», которое веб-браузер использует для доступа к нему.
Взгляните на этот пример конфигурации из эта страница NGINX, это говорит само за себя:
http {
index index.html;
server {
server_name www.domain1.com;
access_log logs/domain1.access.log main;
root /var/www/domain1.com/htdocs;
}
server {
server_name www.domain2.com;
access_log logs/domain2.access.log main;
root /var/www/domain2.com/htdocs;
}
}