SSH Curl не работает, когда URL доступен в браузере - PullRequest
0 голосов
/ 21 сентября 2018

Этот пост связан с другим моим сообщением ( все еще не решено ):

Laravel - обновление композитора: соединение отказано

Но я делаю еще один пост о более конкретном вопросе.


По SSH, на сервере prod (общий хостинг), яперейти к определенной папке (которая содержит мой веб-сайт):

$ 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

Это работает.

Обратите внимание, что оба файла доступны через мой браузер.


Iна форумах читал несколько вещей о IPv6 или брандмауэрах , но:

  • Я не знаю, еслиэто может привести к тому, что
  • Я не могу найти правильный способ проверить, отключены оба или нет.

РЕДАКТИРОВАТЬ: пробовать другие вещи ...


Кажется, это не пользовательский агент / выпуск реферераe: (попробуйте Chrome 65 для Windows 10)

$ 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;

1 Ответ

0 голосов
/ 25 сентября 2018

Для французских разработчиков, использующих SSH с профессионалом виртуального хостинга в OVH, поддержка говорит, что внешние вызовы, такие как curl, отключены в ssh, но, очевидно, я могу сделать curl https://packagist.org/packages.json.

* 1006.* Когда они попробовали себя, они получили ошибку типа action forbidden или что-то в этом роде.

Это не имеет никакого смысла.


Я решил свою предыдущую проблему, выполнив composer install вместо composer update.

Вот первое обсуждение для справки: Laravel - обновление композитора: соединение отклонено

...