Веб-сервер за NAT не выполняет проверку reCAPTCHA

#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>