@eugene159

Почему данный код работает на локалке, но не работает на боевом (если поменять домен в коде, то на боевом тоже работает)?

Здравствуйте. Есть такой код:
<?php

$url = 'formulabeton.ru';
$get = stream_context_create(
    ["ssl" => [
        'capture_peer_cert' => true,
        'capture_peer_cert_chain' => true,
        'verify_peer' => false,
    ]]);
$read = stream_socket_client("ssl://" . $url . ":443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $get);

if ($read === false) {
    echo 'Произошла ошибка';
} else {
    echo 'Ошибок нет';
}

Почему на локалке выводится "Ошибок нет", а на боевом сайте выводится "Произошла ошибка"?

Если я поменяю
$url = 'formulabeton.ru';
На другой домен, например:
$url = 'ria.ru';
То ошибок и на боевом не будет.

Но мне важен именно formulabeton.ru.

UPD
Я проверил этот код на хостингах beget и sweb. Одна и та же ошибка. А сам сайт лежит на хостинге webhost1.ru.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Время ожидания соединения истекло
Скорее всего, где-то файрвол блокирует запрос с вашего IP.
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Ну, смотрите, вот список алгоритмов шифрования на сайте formulabeton.ru:
| ssl-enum-ciphers:
|       TLS_RSA_WITH_AES_128_CBC_SHA
|       TLS_RSA_WITH_AES_128_CBC_SHA256
|       TLS_RSA_WITH_AES_128_CCM
|       TLS_RSA_WITH_AES_128_CCM_8
|       TLS_RSA_WITH_AES_128_GCM_SHA256
|       TLS_RSA_WITH_AES_256_CBC_SHA
|       TLS_RSA_WITH_AES_256_CBC_SHA256
|       TLS_RSA_WITH_AES_256_CCM
|       TLS_RSA_WITH_AES_256_CCM_8
|       TLS_RSA_WITH_AES_256_GCM_SHA384

Если на ваших хостингах не поддерживается ни один из этих алгоритмов - то и соединения не будет, в принипе.

Ну или действительно у хостера formulabeton.ru просто заблокированы именно адреса beget-а и sweb-а, за какие-нибудь DDoS-ы или переборы...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы