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,那是它不适合你的原因。
在发布 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
回溯(最后一次调用):
文件“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
回溯(最后一次调用):
文件“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
编辑
所以如果我做 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,那是它不适合你的原因。