У меня есть 2 экземпляра ec2 за балансировщиком нагрузки приложения, который перенаправляет трафик c к нужному экземпляру в соответствии с путем:
- www.example.com/hello => экземпляр 1
- www.example.com/goodbye => экземпляр 2
Nginx конфигурация серверов
# Hello server config
server {
listen 80;
server_name localhost;
location / {
root /home/ubuntu/welcome;
}
location = /hello {
root /home/ubuntu/api;
}
# Goodbye server config
server {
listen 80;
server_name localhost;
location / {
root /home/ubuntu/welcome;
}
location = /goodbye {
root /home/ubuntu/api;
}
Я создал простой файл индекса. html на каждом сервере под Папка root, как указано в файлах конфигурации, так что instance1 возвращает «Hello», а instance2 возвращает «Goodbye». Однако www.example.com/hello и www.example.com/goodbye всегда возвращают 404 не найденными. Я перезагрузил свой Nginx сервис и даже перезапустил.
PS: Ради тестирования я создал еще один экземпляр с Nginx, не спрятанным за ELB, и отредактировал конфигурацию так, чтобы она выглядела аналогично, и похоже, что работать, поэтому я не уверен, что я сделал не так с теми, кто стоит за ELB.