我在 VPS 上运行 docker-image。该镜像使用端口 80 进行前端登录(我无法使用 443,因为它已被其他用途占用)。
无论如何,我感觉通过 80 端口登录很不舒服,因为这样很容易泄露密码。
如何建立安全的前端连接,以便尝试登录时输入的任何密码都将被加密,即使我使用端口 80(http)。我猜 SSH 隧道可以以某种方式工作 - 这可能吗?
答案1
https 443 端口号并不“神奇”,你可以使用 1-65535 中的任何你喜欢的端口。只有 2 个条件:
服务器和客户端都必须(同意)使用相同的端口号。
1-1023 范围内的端口是“知名端口”,它们在全球范围内分配给特定应用程序或协议。如果您使用这些端口号之一,可能会与“知名”应用程序发生冲突。1024 以上的端口可自由使用。
例如,您可以使用端口 30443。只需在浏览器中的 url 末尾添加 :30443,如“https://www.myip.com:30443”。
设置docker将docker镜像的443端口暴露给机器的30443端口
如果你的 docker 镜像仅支持通过端口 80 进行非 https 访问,你可能需要设置一个代理来保护 docker 镜像的 80 端口 - nginx-proxy 和 letsencrypt-nginx-proxy-companion 可以提供帮助 - 但这是另一个话题
看https://github.com/nginx-proxy/docker-letsencrypt-nginx-proxy-companion