Тайм-аут соединения recaptcha на сервере linux

Я использую ReCaptcha для ввода кода на моем веб-сайте. Он работает нормально, когда я запускаю его на локальном сервере. Но когда я запускаю его на сервере Linux, он выдает мне сообщение о тайм-ауте соединения. Я не уверен, почему?

Я вижу, что у многих людей была такая же проблема, но нет решения. Кто-нибудь знает, в чем может быть проблема? Я использую пример Java, приведенный в документации.

вот он - ›https://developers.google.com/recaptcha/docs/java


net.tanesha.recaptcha.ReCaptchaException: Cannot load URL: Connection timed out
    at net.tanesha.recaptcha.http.SimpleHttpLoader.httpPost(SimpleHttpLoader.java:89)

Мои настройки iptable для порта 80:

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT

I tried to curl

 http://www.google.com/recaptcha/api/verify 
from the web server and it did not allow. I guess the host is not reachable from the server. How to allow post/get from the linux server to the google api website ?


person AnujKu    schedule 15.03.2013    source источник
comment
Обсуждение дешево, покажи код :)   -  person Jiri Kremser    schedule 16.03.2013
comment
Я использовал тот же код, что и в примере с Recaptcha. вот он - ›developers.google.com/recaptcha/docs/java   -  person AnujKu    schedule 16.03.2013
comment
@JiriKremser, что ты думаешь?   -  person AnujKu    schedule 16.03.2013
comment
ну, если даже curl не может достичь URL-адреса, проблема в настройках ваших IP-таблиц. Попробуйте следующее: SERVER_IP = wxyz iptables -A INPUT -p tcp -s 0/0 --sport 1024: 65535 -d $ SERVER_IP --dport 80 -m state --state NEW, ESTABLISHED -j ACCEPT iptables -A OUTPUT -p tcp -s $ SERVER_IP --sport 80 -d 0/0 --dport 1024: 65535 -m state --state ESTABLISHED -j ACCEPT   -  person Jiri Kremser    schedule 16.03.2013
comment
Кстати. вы используете свой собственный ключ api?   -  person Jiri Kremser    schedule 16.03.2013
comment
Да, я использую свой ключ API, я успешно запустил его локально, проблема была удалена. Я буду держать вас в курсе вещей   -  person AnujKu    schedule 16.03.2013
comment
Я знал об этой команде, но как узнать IP-адрес сервера? я буду продолжать меняться, я думаю   -  person AnujKu    schedule 16.03.2013
comment
ifconfig сообщит вам IP-адрес сервера или ip addr show. Попробуйте также простой ping www.google.com с этого сервера   -  person Jiri Kremser    schedule 16.03.2013
comment
Не решил проблему   -  person AnujKu    schedule 16.03.2013


Ответы (1)


1). Ошибка в вашей цепочке INPUT:

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

Здесь должно быть указано --sport, а не --dport. Поскольку curl может использовать любой порт для нового запроса вывода и будет ждать ответа на него. Например 44254 или любой другой.

2). Возможно, потребуется добавить аналогичное правило для порта 443, потому что новая версия Google RECaptcha использует его по умолчанию.

person Sergey Serov    schedule 26.05.2015