如何通过用户名和密码保护在Docker容器中运行的Web应用程序?

我写了一个Node.js Web应用程序,它被封装成一个Docker镜像。 我可以运行这个图像,一切都很好。

现在我想显示Web应用程序,所以我想在互联网上的服务器上运行Docker镜像 – 但我不希望它公开给每个人。 作为最低级别的保护,我想补充一点,您需要input您的用户名和密码 – 无需更改Web应用程序或其Docker镜像

我怎么能这样做?

我能想到的一个select就是不要公开Docker镜像,而是使用例如Nginx,然后使用Node.js镜像作为上游,但在通过之前处理身份validation。

这听起来是否合理,还是有一个更简单的方法?

NGINX可以添加HTTP基本authentication,所以它应该工作。

http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html