Я запускаю приложение на порту 7000, который является частью сети. Таким образом, он должен связываться через порт 7000 со всеми другими серверами сети (не LAN, динамические IP-адреса). У него также есть веб-интерфейс, к которому вы можете получить доступ по адресу http: //my.ser.ver.ip: 7000 но я хочу заблокировать доступ к веб-интерфейсу. Как это возможно, вообще не блокируя мое приложение?
Если я правильно понял ваш вопрос, у вас есть несколько способов заблокировать доступ к вашему приложению извне.
Моя лучшая практика - это первый вариант.
Вам необходимо заблокировать любой доступ к порту 7000, а затем разрешить доступ к порту 7000 только серверам в вашей сети. Таким образом вы эффективно блокируете доступ к веб-интерфейсу, если вы не обращаетесь к нему с сервера внутри вашей сети.
HTTP - это протокол (P в HTTP), работающий на порту 80. UFW не может блокировать его на основании того, что это веб-страница или нет, поскольку он управляет только iptables и знает, что это веб-страница только после того, как соединение установлено.
В зависимости от того, какой веб-сервер вы используете, вы можете использовать предложение imvikasmunjal. Однако «заблокировать все для доступа к порту 7000», а затем предоставить конкретный доступ к определенным IP-адресам - лучший способ продвижения вперед. ИМО
Вы можете заблокировать это через файл .htaacess. В .htaccess Вам нужно разрешить приложение только через ваш публичный IP-адрес и запретить все остальные IP-адреса. Ниже я поделился контентом, который нужно ввести в .htaccess файл.
Order deny,allow
allow from 1.2.3.4 #Your Public IP, only this IP is accessible to application.
deny from all
Это решит проблему за вас.