Как обслуживать порт 9003 (или любой другой)?
У меня есть Apache WebServer, работающий на VPS (ubuntu 16). По умолчанию он работает на порту 80. Если я попробую через браузер:
http://104.XXX.YYY.237
Работает просто отлично. (У меня на нем запущено полноценное приложение php/mysql)
.....
Теперь я хочу обслуживать публичный REST API, созданный с помощью Golang, на порту 9003 (или любом другом)
Итак, у меня в файле main.go есть
func main() {
router := NewRouter()
log.Fatal(http.ListenAndServe(":9003", router))
}
Когда я пытаюсь получить доступ:
http://104.XXX.YYY.237:9003
Я вообще не получаю ответа.
...
У меня похожая конфигурация запущена на локальном хосте, где я могу успешно получить доступ через терминал, curl, браузер или ajax по адресу типаhttp://localhost:9003
Итак, с моим API не все в порядке.
...
Я очень мало знаю о Linux и конфигурации сервера, поэтому, немного покопавшись, я могу предположить, что проблема может быть в порте 9003! Чтобы проверить это заключение, я остановил службу Apache, изменил порт API на 80 и!! БИНГО!!! это сработало! Я смог получить доступ к своему API с помощью браузера.
...
Еще немного покопавшись, я нашел эту (замечательную) команду Linux:
netstat -vatn
который дал мне ответ: (при восстановленной моей исходной конфигурации)
tcp6 0 0 :::9003 :::* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 104.XXX.YYY.237:80 177.XX.YYY.243:4297 TIME_WAIT
Я не эксперт по Linux, но первая строка говорит мне, что порт 9003 открыт и готов к использованию, как и 80 и 22.
Но последняя строка говорит мне, что сервер слушает 104.XXX.YYY.237:80.
Итак, я краток в одной строке. Я делаю вывод, что мне следует ожидать чего-то вроде:
tcp6 0 0 104.XXX.YYY.237:9003 177.YY.XXX.243:4297 TIME_WAIT
Итак, вот мои вопросы:
_ Как обеспечить внешний доступ к моему API, используя IP-адрес моего VPS (или позже моего домена), используя указанный порт? _ Я сказал что-то не так о своих выводах?
заранее спасибо
решение1
Мне удалось устранить проблему и разрешить внешнее подключение напрямую к моему API через порт 9003!
Чтобы добиться этого, я отредактировал правила брандмауэра на панели управления моего провайдера VPS!
Хотя мне бы очень хотелось научиться делать это через терминал!