当 URL 可在浏览器中访问时,SSH Curl 不起作用
SSH Curl doesn't work when URL is accessible in browser
这个post和我的另一个post有联系(还没解决):
但我正在就一个更具体的问题提出另一个 post。
在 SSH 上,在产品服务器(共享主机)上,我转到一个特定文件夹(其中包含我的网站):
$ cd /home/user/www/prod/
那么,如果我尝试:
$ curl https://larapack.io/packages.json
我得到:
curl: (7) Failed to connect to larapack.io port 443: Connection refused
但如果我这样做:
$ curl https://packagist.org/packages.json
有效。
请注意,这两个文件都可以通过我的浏览器访问。
我在论坛上阅读了一些关于 IPv6 或 防火墙 的内容,但是:
不知道会不会这样
我找不到正确的方法来检查两者是否被禁用。
编辑:尝试其他事情...
这似乎不是用户 agent/referer 问题:(尝试在 windows 10 上使用 chrome 65)
$ curl -A "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3315.4Safari/537.36" https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是 IPV6 问题:(选项 -4
强制 IPv4)
$ curl -4 https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是 ssl 问题:(选项 -k
跳过 ssl 的事情)
$ curl -k https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是防火墙问题: 我有一个包含有效指令的配置文件 firewall=none
不适用于wget
:
$ wget https://larapack.io/packages.json
pathconf: Value too large for defined data type
pathconf: Value too large for defined data type--2018-09-23 13:47:26-- https://larapack.io/packages.json
Resolving larapack.io (larapack.io)... 23.92.17.233
Connecting to larapack.io (larapack.io)|23.92.17.233|:443...
failed: Connection refused.
也没有使用 nc
命令(我没有 telnet 命令,但它的工作原理几乎相同,正如我所读)
$ nc larapack.io 443
larapack.io [23.92.17.233] 443 (https) : Connection refused
我尝试使用 php 进行卷曲,它成功了!所以它似乎只适用于 SSH:
<?php
$url = "https://larapack.io/packages.json";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url
));
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;
对于在 OVH 使用 SSH 和共享主机专家的法国开发人员,支持人员表示在 ssh 中禁用了 curl
等外部调用,但显然我可以做到 curl https://packagist.org/packages.json
。
当他们自己尝试时,他们遇到了 action forbidden
之类的错误。
没有任何意义
我解决了之前的问题 composer install
而不是 composer update
。
这里是第一个讨论供参考:
这个post和我的另一个post有联系(还没解决):
但我正在就一个更具体的问题提出另一个 post。
在 SSH 上,在产品服务器(共享主机)上,我转到一个特定文件夹(其中包含我的网站):
$ cd /home/user/www/prod/
那么,如果我尝试:
$ curl https://larapack.io/packages.json
我得到:
curl: (7) Failed to connect to larapack.io port 443: Connection refused
但如果我这样做:
$ curl https://packagist.org/packages.json
有效。
请注意,这两个文件都可以通过我的浏览器访问。
我在论坛上阅读了一些关于 IPv6 或 防火墙 的内容,但是:
不知道会不会这样我找不到正确的方法来检查两者是否被禁用。
编辑:尝试其他事情...
这似乎不是用户 agent/referer 问题:(尝试在 windows 10 上使用 chrome 65)
$ curl -A "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3315.4Safari/537.36" https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是 IPV6 问题:(选项 -4
强制 IPv4)
$ curl -4 https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是 ssl 问题:(选项 -k
跳过 ssl 的事情)
$ curl -k https://larapack.io/packages.json
curl: (7) Failed to connect to larapack.io port 443: Connection refused
这似乎不是防火墙问题: 我有一个包含有效指令的配置文件 firewall=none
不适用于wget
:
$ wget https://larapack.io/packages.json
pathconf: Value too large for defined data type
pathconf: Value too large for defined data type--2018-09-23 13:47:26-- https://larapack.io/packages.json
Resolving larapack.io (larapack.io)... 23.92.17.233
Connecting to larapack.io (larapack.io)|23.92.17.233|:443...
failed: Connection refused.
也没有使用 nc
命令(我没有 telnet 命令,但它的工作原理几乎相同,正如我所读)
$ nc larapack.io 443
larapack.io [23.92.17.233] 443 (https) : Connection refused
我尝试使用 php 进行卷曲,它成功了!所以它似乎只适用于 SSH:
<?php
$url = "https://larapack.io/packages.json";
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $url
));
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;
对于在 OVH 使用 SSH 和共享主机专家的法国开发人员,支持人员表示在 ssh 中禁用了 curl
等外部调用,但显然我可以做到 curl https://packagist.org/packages.json
。
当他们自己尝试时,他们遇到了 action forbidden
之类的错误。
没有任何意义
我解决了之前的问题 composer install
而不是 composer update
。
这里是第一个讨论供参考: