Proxy 使用azure sdk中的MQTT协议的应用程序,不´;I don’我不能在公司代理人后面工作

Proxy 使用azure sdk中的MQTT协议的应用程序,不´;I don’我不能在公司代理人后面工作,proxy,mqtt,raspbian-stretch,Proxy,Mqtt,Raspbian Stretch,我是这方面的新手,我不知道为什么我的应用程序只在开放网络中工作和运行,而在代理后面我有一个返回错误。 我使用的是raspberry zero,带有raspbian Stretch,使用的是azure iot sdk python和代理squid 我已经试过了: 代理允许HTTPS连接,且其所有端口均可用,且没有任何限制和地址*****。azure-devices.net被放在中的白名单中 $ nano / etc / squid / whitelist 除此之外,我在操作系统raspbian

我是这方面的新手,我不知道为什么我的应用程序只在开放网络中工作和运行,而在代理后面我有一个返回错误。 我使用的是
raspberry zero
,带有
raspbian Stretch
,使用的是
azure iot sdk python
和代理
squid

我已经试过了:

代理允许HTTPS连接,且其所有端口均可用,且没有任何限制和地址*****。azure-devices.net被放在中的白名单中

$ nano / etc / squid / whitelist
除此之外,我在操作系统raspbian Stretch中的

$ nano / etc / environment
以下配置:

导出http_proxy=“”

导出https_proxy=“”

export no_proxy=“localhost,127.0.0.1”

而且在

$ nano ~ / .bashrc
导出http_proxy=http://192.168.2.254:3128

导出https_proxy=https://192.168.2.254:3128

export no_proxy=localhost,127.0.0.1

以及

获取::http::代理“”

获取::https::代理“”


不能将HTTP代理与(本机)MQTT一起使用,它们是两个完全不同的协议

如果您可以在WebSocket上使用MQTT,那么您应该能够使用HTTP代理,因为WebSocket最初是通过升级HTTP连接建立的


如果您的网络上有可用的SOCKS代理,则可以将其与本机MQTT一起使用。下面的问题提供了如何在Python中使用SOCKS代理的提示

不能将HTTP代理与(本机)MQTT一起使用,它们是两个完全独立的协议

如果您可以在WebSocket上使用MQTT,那么您应该能够使用HTTP代理,因为WebSocket最初是通过升级HTTP连接建立的

如果您的网络上有可用的SOCKS代理,则可以将其与本机MQTT一起使用。下面的问题提供了如何在Python中使用SOCKS代理的提示

$ nano /etc/apt/apt.conf.d/90proxy
from iothub_client import IoTHubClient, IoTHubTransportProvider, IoTHubMessage
import time

CONNECTION_STRING = "HostName=******.azure-devices.net;DeviceId=***;SharedAccessKey=*********"
PROTOCOL = IoTHubTransportProvider.MQTT


def send_confirmation_callback(message, result, user_context):
    print("Confirmation received for message with result = %s" % (result))


if __name__ == '__main__':
    client = IoTHubClient(CONNECTION_STRING, PROTOCOL)
    message = IoTHubMessage("test message")
    client.send_event_async(message, send_confirmation_callback, None)
    print("Message transmitted to IoT Hub")

    while True:
        time.sleep(1)

Error: File: /usr/sdk/src/c/c-utility/adapters/socketio_berkeley.c Func: lookup_address_and_initiate_socket_connection Line: 282 Failure: getaddrinfo failure -3.
Error: File: /usr/sdk/src/c/c-utility/adapters/socketio_berkeley.c Func: socketio_open Line: 765 lookup_address_and_connect_socket failed
Error: File: /usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func: on_underlying_io_open_complete Line: 760 Invalid tlsio_state. Expected state is TLSIO_STATE_OPENING_UNDERLYING_IO.
Error: File: /usr/sdk/src/c/c-utility/adapters/tlsio_openssl.c Func: tlsio_openssl_open Line: 1258 Failed opening the underlying I / O.
Error: File: /usr/sdk/src/c/umqtt/src/mqtt_client.c Func: mqtt_client_connect Line: 1000 Error: io_open failed
Error: File: /usr/sdk/src/c/iothub_client/src/iothubtransport_mqtt_common.c Func: SendMqttConnectMsg Line: 2122 failure connecting