![Как узнать, какой порт используется?](https://rvso.com/image/1540081/%D0%9A%D0%B0%D0%BA%20%D1%83%D0%B7%D0%BD%D0%B0%D1%82%D1%8C%2C%20%D0%BA%D0%B0%D0%BA%D0%BE%D0%B9%20%D0%BF%D0%BE%D1%80%D1%82%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D1%82%D1%81%D1%8F%3F.png)
Я использую много Docker-контейнеров, включая nginx и т. д.
Мой API доступен по настроенному имени хоста, например:
api.local.awesome.com/api/
Можно ли как-то проверить, какой порт он использует?
Это необходимо для настройки глобального доступа к этому API через <IP>:<port>
конфигурацию.
Похоже, у меня есть api.local.awesome.com
порт 8001, но он не работает через это:
192.168.1.3:8001/api/
- это вообще не работает.
192.168.1.3:8001
- это работает для корневой конечной точки.
Кстати, api.local.awesome.com/api/
работает отлично.
Я также пытался использовать ngrok
порт 8001, но он работает так же, как 192.168.1.3:8001
.
Есть ли какие-нибудь предложения, как узнать правильный порт для этого?
решение1
Если вы подключаетесь по HTTP без номера порта в URL, это порт 80.
Если вы подключаетесь по HTTPS без номера порта в URL, это порт 443.
Отредактировано с целью добавления: если вы обслуживаете несколько веб-сайтов через несколько имен хостов на одном IP-адресе (иногда это называется виртуальным хостингом), вы не сможете подключиться к серверу по IP-адресу, поскольку ваш браузер (или другой пользовательский агент / HTTP-клиент) не будет знать, какое доменное имя указать в заголовке HTTP-запроса «Host:», поэтому сервер не будет знать, веб-сайт с каким доменным именем вам обслуживать.