VOLTTRON 简单网络代理

VOLTTRON Simple Web agent

在发布 8.1.1 时,我正在尝试使用 simple web agent

运行 通过设置过程

volttron -vv -l volttron.log --bind-web-address http://0.0.0.0:8080 &

vcfg 上的 http 协议的一切似乎都安装正常,并且启动代理开始正常,但是转到浏览器时我得到一个空页面响应。

并且在终端中出现错误,这是完整的回溯:

.do_close of 因 SSLError

而失败

回溯(最后一次调用): 文件“src/gevent/greenlet.py”,第 854 行,在 gevent._gevent_cgreenlet.Greenlet.run 中 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/baseserver.py”,第 34 行,在 _handle_and_close_when_done 中 return句柄(*args_tuple) 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/server.py”,第 233 行,在 wrap_socket_and_handle 中 _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) 作为 ssl_socket: 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 793 行,在 wrap_socket 中 return SSLSocket(sock=sock, keyfile=keyfile, certfile=certfile, 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 311 行,在 init 中 提高 x 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 307 行,在 init 中 self.do_handshake() 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 663 行,在 do_handshake 中 self._sslobj.do_handshake() ssl.SSLError: [SSL: HTTP_REQUEST] http 请求 (_ssl.c:1131) 2021-09-29T13:38:34Z 因 SSLError

而失败

回溯(最后一次调用): 文件“src/gevent/greenlet.py”,第 854 行,在 gevent._gevent_cgreenlet.Greenlet.run 中 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/baseserver.py”,第 34 行,在 _handle_and_close_when_done 中 return句柄(*args_tuple) 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/server.py”,第 233 行,在 wrap_socket_and_handle 中 _closing_socket(self.wrap_socket(client_socket, **self.ssl_args)) 作为 ssl_socket: 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 793 行,在 wrap_socket 中 return SSLSocket(sock=sock, keyfile=keyfile, certfile=certfile, 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 311 行,在 init 中 提高 x 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 307 行,在 init 中 self.do_handshake() 文件“/home/ben/Desktop/volttron/env/lib/python3.8/site-packages/gevent/_ssl3.py”,第 663 行,在 do_handshake 中 self._sslobj.do_handshake() ssl.SSLError: [SSL: HTTP_REQUEST] http 请求 (_ssl.c:1131) 2021-09-29T13:38:34Z SSLError

失败

编辑

所以如果我做 nano ~/.volttron/config 它看起来像下面这样。我确实更改了测试台实例 IP 地址的 bind-web-address。希望这不是一个错误它看起来像最初的 bind-web-address 是计算机的名称。 --bind-web-address http://ben-hp-probook-6550b:8080

message-bus = zmq
vip-address = tcp://127.0.0.1:22916
instance-name = benshome
bind-web-address = http://192.168.0.105:8080
web-ssl-cert = /home/ben/.volttron/certificates/certs/platform_web-server.crt
web-ssl-key = /home/ben/.volttron/certificates/private/platform_web-server.pem
web-secret-key = 0e3b19770c0a8c0a08f274fcdabaf939fecc16601283266934c5ab258a1ed20cf440fde2c83cb8660dac569d31b5cdaf3ab7354a39b0640f355f9c5407c5fce619

我想我确实先尝试了 HTTPS,然后求助于 HTTP。无论如何,当我启动 VOLTTRON 时,如果 ~/.volttron/config 已经设置了一个,我还需要一个 --bind-web-address arg 吗?

我在启动 VOLTTRON 时都尝试过是否使用 --bind 标志,但仍然无法在机器 运行 VOLTTRON 的 IP 地址 192.168.0.105 上调出网页。这就是简单的 Web 代理,对吗?

当我 运行 通过 vcfg 并指定 https 时,我能够重现此内容,但随后做了你所做的并将 bind-web-address 传递给 volttron 命令本身。

但是,您不应该这样做。这些说明假定您没有完成 vcfg 过程,因此您必须在命令行上指定绑定网址。

由于您完成了 vcfg 过程,您的配置文件 (~/.volttron/config) 将把您的 hostname:port 作为绑定网络地址。如果它有 https,那是它不适合你的原因。