Приложение в стеке вопросов - экспресс, MongoDB, реагирует на родной язык, узел (и оси). Экспресс достигает тонны MongoDB в экземпляре ec2, но я не могу связаться с экспрессом из приложения (или почтальона).
Поэтому, когда я отправляю запрос POST в мой маршрут регистрации, в журналах Android Studio
"response: 'Unable to resolve host "api.my.url": No address associated with hostname'"
Я пробовал как миллион разных вещей в настройках VPC, конфигурации DHCP, маршрутизации 54 файлов DNS, нескольких экземплярах и т. Д.
Также в моем случае при попытке запустить
curl -O https://bootstrap.pypa.io/get-pip.py
Там написано
curl(6) could not resolve host bootstrap.pypa.io....
похоже, что соединения не работают, но я не уверен, как это исправить. Я также подтвердил, что ссылка bootstrap.pypa.io работает в браузере (Chrome), поэтому для моего экземпляра определенно существуют проблемы с входящим / исходящим подключением.
Я пытался подключиться со своего реального телефона и эмулятора, оба работали со старым экземпляром ec2, который кто-то еще настраивал, поэтому кодовая база не должна была быть изменена, я в основном изолировал проблему с чем-то в настройке AWS, будь то DNS, VPC, сам экземпляр или что-то совершенно другое - вот где я в растерянности.
У меня включено разрешение DNS и имена хостов в моем VPC, CIDR IPv4 - 10.0.0.0/16
без IPv6, у меня эластичный IP-адрес, связанный с моим экземпляром ec2, я попытался создать открытую и закрытую зону для моего сгенерированного маршрута 53 домен и добавил частный IP и эластичный IP к записи A, а также URL-адрес типа ec2-13.23.243.us-east
для NS, а также для общего пользования, для частного я только добавил эластичный IP к записи A. Экземпляр наиболее определенно работает. Я попытался создать входящую и исходящую конечную точку и связал ее с VPC. При этом используются 2 сгенерированных IP-адреса (по одному для каждой подсети), все работает в одном регионе. Мой экземпляр работает Ubuntu 18 LTS
.
Я уверен, что это проблема с моей конфигурацией AWS, а не с кодом в приложении.
UPDATE:
отключил брандмауэр, используя
ufw disable
RAN
sudo nano /etc/resolv.conf
и обновленный порт до 1.1.1.1
& заменил группу безопасности на одну, чтобы разрешить все порты с любого IP (временно)
& добавил DNS A Запись IP-адресов в корневой домен в дополнение к поддомену
это исправило невозможность разрешения ответа хоста и изменило его на
Не удалось подключиться к my.url.com/10.0.1.209:443
ОБНОВЛЕНИЕ 2:
Я решил начать с нуля, создал новый экземпляр со всеми теми же шагами, как описано выше, установил nginx и прикрепил новую политику для nginx и letsencrypt. Теперь переход к URL-адресам, настроенным в браузере, возвращает экран приветствия nginx.
ресурс, который помог больше всего: https://blog.cloudboost.io/setting-up-an-https-sever-with-node-amazon-ec2-nginx-and-lets-encrypt-46f869159469
Единственное, что осталось, - это новая ошибка 404 при попытке поразить мою конечную точку, что, как я подозреваю, связано с конфигурацией nginx. Оригинальная проблема решена, хотя!
ОБНОВЛЕНИЕ 3:
Я исправил мою конфигурацию файла nginx, теперь я могу достичь своих конечных точек в браузере, но если я попытаюсь из приложения, появится
_response: 'Имя хоста api.my.url не подтверждено: \ n сертификат: sha256 / 36bQKv2pd + / 7aog0gCHANGEDFVAtPEFrlALeam0 = \ n DN: CN = www.api.my.url \ n subjectAltNames: [www.api.my.url ]»,
_url: 'https://api.my.url/api/endpoint/signup',