Digital Ocean открытый порт 8080 для весенней загрузки - PullRequest
2 голосов
/ 13 мая 2019

Я хочу запустить простое приложение Spring Boot на моей Ubuntu 16.04.6 x64 капле.Чтобы разрешить входящие соединения, мне пришлось открыть порт 8080, поскольку именно здесь встроенный сервер Tomcat в весеннем загрузочном фляге будет прослушивать соединения.

Я использовал команду ufw allow 8080, и теперь я вижу это на себеdroplet.

#ufw status
Status: active

To                         Action      From
--                         ------      ----
8080                       ALLOW       Anywhere
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
8080 (v6)                  ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)

Я убедился, что мое приложение запущено:

java -jar myservice.jar &

Netstat сообщает, что что-то прослушивает 8080:

#  netstat -aon
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      off (0.00/0/0)
tcp        0    XXX XX.XXX.XX.XXX:22        XX.XX.XXX.XX:64021      ESTABLISHED on (0.11/0/0)
tcp6       0      0 :::8080                 :::*                    LISTEN      off (0.00/0/0)
tcp6       0      0 :::22                   :::*                    LISTEN      off (0.00/0/0)

Еще когда ясделать telnet вне сервера, который я получаю:

telnet XX.XXX.XX.XXX 8080
Connecting To XX.XXX.XX.XXX...Could not open connection to the host, on port 8080: Connect failed

И когда я делаю telnet на сервере, я получаю:

# telnet localhost 8080
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

В панели управления брандмауэра Digital Ocean у меня есть следующие настройки:

enter image description here

HTTP запросы к серверу просто зависают и никогда не возвращаются.Судя по отсутствию журналов, они даже не достигают сервера Tomcat.

Что мне не хватает?Будем очень благодарны за любые предложения!

ОБНОВЛЕНИЕ 1:

Локальные (внутри сервера) запросы curl к моей конечной точке проверки работоспособности также зависали.Однако я оставил один на более длительный период и получил журнал приложений:

2019-05-13 18:39:48.723  WARN 5873 --- [nio-8080-exec-2] o.a.c.util.SessionIdGeneratorBase        : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [214,287] milliseconds.

Это объясняло, почему запрос зависал, поэтому применение ответа из этого поста исправило это.Теперь я могу подключиться к своей конечной точке на сервере, и она отвечает.

Однако за пределами коробки запросы все еще не поступают на сервер.Telnet снаружи все еще говорит Could not open connection to the host, on port 8080.

1 Ответ

0 голосов
/ 14 мая 2019

Я не уверен на 100%, почему, но правила брандмауэра из панели управления брандмауэра Digital Ocean мешали моей конфигурации капель.

Я удалил правила брандмауэра с панели управления, и теперь netstat сообщает, что мой порт 8080 открыт, и, наконец, я могу общаться с сервером из внешнего мира.

#nmap -sS -O XX.XXX.XX.XXX

Starting Nmap 7.01 ( https://nmap.org ) at 2019-05-13 21:13 UTC
Nmap scan report for myservice (XX.XXX.XX.XXX)
Host is up (0.000024s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
8080/tcp open  http-proxy
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.8 - 3.19
Network Distance: 0 hops

Также проверьте ОБНОВЛЕНИЕ 1 из вопроса, поскольку это также вызывало странное замешательство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...