【问题标题】:Recaptcha connection timeout on the linux serverlinux服务器上的Recaptcha连接超时
【发布时间】:2023-03-31 12:46:01
【问题描述】:

我在我的网站上使用ReCaptcha 进行验证码。当我在本地主机服务器上运行它时,它运行良好。但是当我在 linux 服务器上运行它时,它会给我连接超时消息。我不知道为什么?

我看到很多人都有同样的问题,但没有解决方案有人知道可能是什么问题吗?我正在使用文档中给出的 Java 示例。

在这里 -> https://developers.google.com/recaptcha/docs/java

net.tanesha.recaptcha.ReCaptchaException:无法加载 URL:连接超时 在 net.tanesha.recaptcha.http.SimpleHttpLoader.httpPost(SimpleHttpLoader.java:89)

我对 80 端口的 iptable 设置是:

-A 输入 -p tcp -m tcp --dport 80 -j 接受 -A 输出 -p tcp -m tcp --dport 80 -j 接受

我试着卷曲

 http://www.google.com/recaptcha/api/verify 
来自 Web 服务器,但它不允许。我猜主机无法从服务器访问。如何允许从 linux 服务器发布/获取到 google api 网站?

【问题讨论】:

  • “说话很便宜,给我看代码”:)
  • 我使用了与 Recaptcha 示例中相同的代码。在这里 -> developers.google.com/recaptcha/docs/java
  • @JiriKremser 你觉得呢?
  • 好吧,如果连 curl 都无法访问 URL,那么问题出在您的 IP 表设置中。试试这个: SERVER_IP=w.x.y.z" 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
  • 顺便说一句。你使用自己的 api 密钥吗?

标签: java linux captcha recaptcha


【解决方案1】:

1)。您的输入链中的错误:

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

这里必须是 --sport 而不是 --dport。因为 curl 可以将任何端口用于新的输出请求,并且将等待响应。例如 44254 或任何其他。

2)。可能有必要为 443 端口添加类似的规则,因为新版本的 Google RECaptcha 默认使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-29
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多