我目前正在Docker容器中运行特使,但是在部署到运行Ubuntu 20.10的服务器时,我无法访问特使管理服务器。
当我在运行Windows 11的个人计算机上本地运行容器时,我能够毫无问题地访问它。
以下是我的特使配置:
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
address: 0.0.0.0
port_value: 9901我的Dockerfile:
FROM envoyproxy/envoy:v1.20-latest
COPY ./envoy.yaml /etc/envoy/envoy.yaml
CMD /usr/local/bin/envoy -c /etc/envoy/envoy.yaml -l debug以及我如何运行码头集装箱:
sudo docker build -t envoy .
sudo docker run -d -p 9000:9000 -p 9901:9901 envoy在运行容器之后,我能够验证Docker是否能够绑定到端口,如下图所示。
我试图通过浏览器访问123.123.123.123:9901 ( 123.123.123.123是一个示例公共IP)来访问管理门户。我在端口80上有一些服务,我可以使用服务器的公共IP访问它,所以看起来问题在于我的特使/码头配置。我做错了什么?

发布于 2022-01-14 06:48:04
原来是我的疏忽。我正在使用Google Compute Engine作为我的服务器VM,当我最初查看防火墙设置时,我看到了一系列已启用的端口,尽管我没有意识到它们仅由vm本身通过本地主机启用和访问。我以为港口是公开的,但我错了。我意识到是这样的,因为我能够通过curl通过curl localhost:9901访问管理url,但是无法访问server-ip:9901。在我的VM的GCP防火墙设置公开端口9901之后,它成功了,所以它不是服务器配置问题,而是防火墙配置问题。
https://stackoverflow.com/questions/70666746
复制相似问题