如何通过 https 访问我的 http 站点(非 Apache)?

如何通过 https 访问我的 http 站点(非 Apache)?

我正在使用开源 Motion CCTV/网络摄像头软件,以便通过网络实时查看我的摄像头。在内部,我可以转到我的网络浏览器,输入 URL,例如http://myubuntu服务器名称:8081

这将带我进入我的相机的实时画面。

现在我可以通过端口转发来远程访问它,但有人可能会通过分析数据包之类的方式看到该地址。

有什么方法可以保护该地址?我在 Ubuntu Server 11.04 上运行 Motion。

我最好让它通过 https 并提示输入密码。我发现但它似乎太复杂了。有没有一个 Ubuntu 软件包可以让我在验证身份并加密连接后访问该地址?它甚至不必是 Motion 特定的。我只是在寻找一种更简单的方法来加密和验证本地托管的 http 站点。

或者更好的是,一个 Ubuntu 软件包可以为我创建一个带有身份验证和 https 的新网站(最好是一些简单的东西,Apache 让我害怕),然后以安全的方式重定向到我的本地网站?

答案1

可以使用 ssh 吗?在这种情况下,您只需通过加密和经过身份验证的 SSH 通道建立 HTTP 连接即可。在远程客户端运行:

ssh user@yourUbuntuServer -L 10000:172.16.10.10:8081

然后,将浏览器指向http://本地主机:10000

也可以设置一个 HTTPS 服务器作为 HTTP 服务的代理,例如使用 Apache。不过,这几乎不会比 Apache 更可怕。

答案2

您需要设置 Apache(或其他 Web 服务器),在其上配置 SSL,并使其代理在 :8081 上运行的应用程序

我不知道有哪个软件包可以帮你完成这个任务。如果你害怕 Apache,你可以尝试 nginx 或 lighttpd,但仍然需要进行一些手动配置。

我还认为您会在其他 stackexchange 网站上得到更好的答案,因为从技术上讲它不是 Ubuntu 独有的。

答案3

以下指南可能有助于设置您的 http 服务器以使用 OpenSSL 进行加密:

https://help.ubuntu.com/community/OpenSSL

http://www.turnkeylinux.org/blog/ssl-certificates

相关内容