#php #port #fsockopen
#php #порт #fsockopen
Вопрос:
Я пытаюсь использовать fsockopen() для подключения с моего сервера apache к удаленному серверу API. Скрипт удаленного сервера, к которому мне нужно подключиться, выполняется на порту 8080.
Следующее продолжает возвращать 101 connection timed out
ошибку:
$fp = fsockopen('remote.example.com', '8080', $errno, $errstr, 10);
Нужно ли мне открывать порт 8080 на моем сервере, чтобы подключиться к этому порту на удаленном сервере?
И если да, есть ли какой-либо способ сделать это, используя, например .htaccess
, или мне придется изменить httpd.conf для этого?
Спасибо!
ДОБАВЛЕНО
Спасибо всем за ответы. Вы все были правы, но я могу принять только 1 ответ, поэтому я принял первый.
Если кому-то интересно: это на сервере Wiredtree, и после отправки сообщения в службу поддержки они сказали, что по умолчанию это отключено по соображениям безопасности (также cURL), но они могут включить его по запросу. Я уверен, что как только они это сделают, эта проблема будет решена.
Я подумал, что опубликую это на случай, если кто-нибудь еще столкнется с такой же проблемой в будущем.
Комментарии:
1. НЕТ, локальный порт выбирается случайным образом
2. Нет. Например, вы постоянно просматриваете веб-сайты, но вам не нужно открывать порт 80, чтобы он работал…
Ответ №1:
Нет, вам это не нужно. Когда вы подключаетесь к другому серверу, ваш сервер является клиентом, а номер порта клиента выбирается из динамического диапазона портов.
Ответ №2:
Вообще говоря, все порты открыты, если они не заблокированы явно. Я думаю, что здесь есть что-то еще. Запущен ли удаленный сервер API? Действительно ли он работает на порту 8080 и вы можете проверить? Вы пытались подключиться с помощью telnet к порту 8080?
Комментарии:
1. Спасибо за ответ! В конце концов, это был мой сервер, я обновил свой OP.
Ответ №3:
Нет, вам не нужно открывать порт 8080 вашего сервера. Вы работаете в корпоративной или правительственной среде, где вы можете сидеть за прокси-сервером? Если это так, вы не сможете добраться до этого пункта назначения, не пройдя через прокси.
Комментарии:
1. Я не за прокси-сервером — это обычный сервер Apache. Как я могу проверить, открыт ли порт 8080 для исходящего трафика?