#webserver #recaptcha #nat
#веб-сервер #recaptcha #nat
Вопрос:
Веб-сервер IIS находится за NAT Linux, все веб-службы работают успешно, кроме одной формы, которая требует проверки reCAPTCHA. Та же форма работает без NAT и при локальном тестировании. Так что это не конфигурация из настроек Google reCAPTCHA.
порты 80 и 443 маршрутизируются с помощью iptables:
iptables -t nat -d [nat-IP] -I PREROUTING -p tcp --dport 80 -j DNAT --to [web-IP]
группы безопасности (на AWS):
Веб-безопасность: разрешить все входящие из NAT, все исходящие открытые
Nat-безопасность: разрешить все 80 и 443, все исходящие открытые
По-видимому, Google не может выполнить проверку за NAT, как я могу настроить?
Ответ №1:
Решение заключалось в том, чтобы сделать вызов ajax для reCAPTCHA асинхронным. async: true
Ранее для него было установлено значение false.
ОБНОВЛЕНИЕ: на самом деле reCAPTCHA работает очень медленно, если таблица маршрутов в AWS настроена неправильно.
VPC> Таблицы маршрутов (левая панель)> your-private-Route-Table
Редактировать маршрут:
назначение: 0.0.0.0 / 0
цель: выберите «экземпляр», затем выберите свой экземпляр NAT
Комментарии:
1. Забыл также указать, что на самом деле вам нужно добавить в свою личную таблицу маршрутов назначение: 0.0.0.0 / 0 цель: i-<nat-instance>