Этот вопрос относится как к серверу ServerFault.com, так и к нему, но это похоже на программирование, отличное от сервера. Я установил свой домашний компьютер для запуска сервера Apache. Он отвечает на порт 5900, который был перенаправлен портами с моего беспроводного маршрутизатора. Затем я настроил динамический DNS-сервер, чтобы постоянно обновлять IP-адрес моей домашней сети. Я знаю, что эта часть работает, потому что я использовал другой компьютер в другой беспроводной сети и смог получить доступ к странице индекса моего сервера с помощью MYURL.com:5900.Доступ к моей домашней сети с использованием CURL
Моя цель - теперь отправить сообщение на мой домашний сервер. Я написал сценарий на моем домашнем сервере, где, если я отправлю сообщение POST, он сохранит это сообщение в файле. Другими словами, ряд событий должен идти, как это:
- Я вхожу на моем веб-страницы, написать текст в Input, и нажмите кнопку отправки
- сообщение будет послана на сервер моего веб-сайта ,
- Мой сервер запускает скрипт, который использует CURL для отправки сообщения в качестве POST на мой домашний сервер DDNS
- Сервер дома берет сообщение и запускает скрипт, который записывает его в файл.
Я знаю, как сделать 1,2 и 4. Я пытался заставить 3 работать и не могу. Я даже не могу заставить CURL читать индекс home.html моего домашнего сервера. Вот код, который я использовал с CURL (Использование PHP):
$string = 'http://MYURL.com';
echo "sending to " . $string . '<br/>';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PORT, 5900);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
$response = curl_exec($ch);
if(curl_error($ch))
{
echo curl_error($ch);
}
echo $response;
curl_close($ch);
Я испытал это с google.com, и порт по умолчанию, и он работал отлично. Он повторил html, предоставленный мне google. Однако, когда я запускаю его на DNS-сервере моего домашнего сервера, он всегда истекает. Когда я не добавляю тайм-аут, он сказал, что не может подключиться. Это использует тот же самый URL-адрес, который при вводе в браузер правильно отправляет мне индекс home.html моего домашнего сервера.
Кто-нибудь знает, что происходит не так? Кроме того, если бы был лучший способ сделать это, что это?
Я знаю, что это был долгий вопрос, поэтому большое вам спасибо.
Этан
5900 не странно - это стандартный порт VNC – Maerlyn
К системному администратору VNC странно (не нормально). Не странные порты - обычные подозреваемые: 80, 443, 53, 21 и т. Д. Системные администраторы Windows даже считают порт 22 странным. – slebetman
Я никогда раньше не делал этого. Я только случайно выбрал 5900, потому что он не использовался. Это мой беспроводной маршрутизатор дома. Из того, что я понимаю, 80 - это порт TCP/IP по умолчанию. Не переносит ли перенос 80 на мой ноутбук, никто не сможет использовать порт 80 и интернет, на этом беспроводном маршрутизаторе? – Ethan