我在笔记本电脑上安装了一个可以在本地和互联网上访问的wamp服务器。域名是educirajse.com,它指向我的IP地址95.180.202.54:81。 http请求通过2个路由器转发到我的本地静态IP地址:192.168.1.130。我的网络服务器可通过浏览器通过互联网访问,但当我尝试从另一个Web服务器访问一些带有CURL的脚本时,我收到错误28 - 连接超时。 我使用了两个不同的Web服务器,情况是一样的!有趣的是,CURL在WAMP上本地工作,例如我能够通过我的WAMP Web服务器通过CURL进行paypal和payza付款,但是当我尝试从另一个Web服务器向我的wamp web服务器发送CURL请求时我总是收到连接超时或无法连接到主机......!我试过禁用firewal,但无济于事......!这是一个获取网页的示例脚本,但遗憾的是无法通过我的wamp web服务器获取我在educirajse.com上托管的网站!它会抓取所有其他页面,但不会抓取我的wamp web服务器上托管的页面,并且错误日志或访问日志中没有任何内容......!
那么,为什么我的WAMP服务器没有从互联网接收CURL请求,而是在本地接收它们?
<?php
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://educirajse.com:81");
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 " );
curl_setopt($curl, CURLOPT_TIMEOUT, 100);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE,true);
$res=curl_exec ($curl);
var_dump( curl_getinfo($curl)) . '<br/>';
echo curl_errno($curl) . '<br/>';
echo curl_error($curl) . '<br/>';
echo $res;
curl_close ($curl);
?>
答案 0 :(得分:0)
我敢打赌,您的路由器内置了防火墙,或者您没有将端口映射到指向相关计算机。
如果是端口映射,那么您需要登录路由器并将端口81转发到您希望在端口80上响应Web服务器请求的机器的INTERNAL IP。
我建议您说明您正在使用的路由器以及是否有端口转发设置。一旦我们知道路由器正在运行的路由器和固件版本,我们就可以更好地指导您做什么,以便这个问题将成为过去。
80也不是Web服务器的默认端口。端口80是默认端口。我仍然建议您通过路由器查看您的端口转发。
我个人在家里知道我已经为我的网络服务器机器设置了静态IP,并且已经将端口80转发到该静态IP。