Веб-сервер GoLang - Внешний доступ - Проблема с портом - Как обслуживать порт 9003 (или любой другой)?

Веб-сервер GoLang - Внешний доступ - Проблема с портом - Как обслуживать порт 9003 (или любой другой)?

Как обслуживать порт 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!

Хотя мне бы очень хотелось научиться делать это через терминал!

Связанный контент