我正在使用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)
我的 80 端口 iptable 设置是:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
我尝试 curl
http://www.google.com/recaptcha/api/verify来自网络服务器,但它不允许。我猜主机无法从服务器访问。如何允许从 Linux 服务器向 google api 网站进行 post/get 操作?
最佳答案
1).您的 INPUT 链中的错误:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
这里必须是--sport而不是--dport。因为curl可以使用任何端口来发送新的输出请求,并且将等待该端口上的响应。例如 44254 或任何其他。
2).可能有必要为 443 端口添加类似的规则,因为新版本的 Google RECaptcha 默认使用它。
关于java - Linux 服务器上的 Recaptcha 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441451/