Я использую образ докера на VPS. В образе используется порт 80 для внешнего входа (и я не могу использовать 443, поскольку он занят для других целей).
В любом случае, мне неудобно входить в систему через порт 80, так как таким образом можно легко перехватить пароль.
] Как мне установить безопасное внешнее соединение, чтобы любой вводимый пароль был зашифрован при попытке входа в систему, даже если я использую порт 80 (http). Я предполагаю, что SSH-туннель будет работать как-то - возможно ли это?
Номер порта https 443 не является «волшебным», вы можете использовать любой порт из 1-65535, который вам нравится. Есть только 2 условия:
И сервер, и клиент должны (согласны) использовать один и тот же номер порта.
Порты в диапазоне 1–1023 – это "общеизвестные порты", которые во всем мире назначаются определенным приложениям или протоколам. Если вы используете один из этих номеров портов, вы можете столкнуться с конфликтами с «хорошо известными» приложениями. Порты начиная с 1024 можно использовать бесплатно.
В качестве примера можно использовать порт 30443. Просто добавьте: 30443 в конце URL-адреса в браузере, например «https://www.myip.com:30443».
настройте докер так, чтобы порт 443 образа докера отображался на порту 30443 машины
если ваш образ докера поддерживает только доступ без https через порт 80, вам может потребоваться настроить прокси-сервер, который защищает порт 80 компьютера. образ докера — nginx-proxy и letsencrypt-nginx-proxy-companion могут помочь — но это уже другая тема
, см. https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion