【问题标题】:A non ssl request to ssl server?对 ssl 服务器的非 ssl 请求?
【发布时间】:2015-09-01 11:10:14
【问题描述】:

随着物联网变得越来越主流,越来越需要从硬件发送http请求。

一个主要问题是硬件微控制器无法发送ssl 请求,但大多数服务器/网站/服务都在使用ssl

所以,问题是,是否有任何网桥(服务)可以向其发送http 请求,他将用ssl 包装它,将其发送到端点,然后从端点获取响应, 解开 ssl , 并将其发送回发件人 ?

例如,使用 parse.com 需要 ssl。

【问题讨论】:

    标签: ssl https server


    【解决方案1】:

    是的,有一些方法可以做到这一点 - 例如,您可以在您信任的机器上以客户端模式运行 stunnel。它是一个轻量级代理,可以执行您所描述的操作:将非 SSL 连接转换为 SSL 连接,反之亦然。

    您也可以使用nginx 作为代理,它还将负责进行一些特定于 HTTP 的重写:

    events {}
    
    http {
        server {
            location / {
                proxy_pass https://wandernauta.nl:443/;
            }
        }
    }
    

    在这两种情况下,您的代理和“互联网事物”之间的所有内容都将是未加密的,这意味着它可以被拦截、修改和篡改。

    有关更多信息,请参阅stunnel websitenginx website.

    【讨论】:

    • 谢谢,但这应该服务于很多用户,所以它可以在某个远程服务器上吗?困扰我的另一件事是,您需要以某种方式为其提供原始请求所期望的端点数据,因此您的请求不能像以前那样..
    • 哇,这似乎不是一个真正直接的方法,需要我拥有更多的经验..
    • 我为 nginx 添加了一个最小的示例配置,您可以将其用作起点。
    • 当你说可以修改未加密的数据时,ssl数据不也是如此吗?您看不懂,但如果您可以修改任何其他请求,您也可以修改 ssl 吗? (顺便说一句,所以你说任何没有 ssl 的设备都是敞开的?如果我用 AES 加密数据字段本身呢?)
    • AES 是 SSL 可以使用的加密标准之一(我的浏览器现在正在使用它来与 StackOverflow 对话!),所以如果您的硬件控制器能够并且足够强大,可以使用 AES 加密您可能只使用 SSL。如果可以避免,请不要roll your own crypto
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 2016-04-19
    相关资源
    最近更新 更多