我目前在 Docker 容器中運行 Envoy,但是在部署到運行 Ubuntu 20.10 的服務器時,我無法訪問 Envoy 管理服務器。
當我在運行 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
以及我如何運行 Docker 容器:
sudo docker build -t envoy .
sudo docker run -d -p 9000:9000 -p 9901:9901 envoy
運行容器后,我能夠驗證 Docker 能夠系結到埠,如下圖所示。
我正在嘗試通過我的瀏覽器訪問管理門戶(公共 IP 示例123.123.123.123:9901在哪里)。123.123.123.123我在埠上提供了一些服務80,我可以使用服務器的公共 IP 訪問它,所以看起來問題出在我的 Envoy/Docker 配置上。我究竟做錯了什么?

uj5u.com熱心網友回復:
原來這是我的疏忽。我使用谷歌計算引擎作為我的服務器虛擬機,當我最初查看防火墻設定時,我看到了一系列已啟用的埠,但沒有意識到它們只能由 vm 本身通過 localhost 啟用和訪問. 我以為埠是公開的,但我錯了。我意識到是這種情況,因為我能夠curl通過 admin urlcurl localhost:9901訪問,但無法訪問server-ip:9901。在我的 VM 的 GCP 防火墻設定上將埠9901公開后,它起作用了,所以這不是服務器配置問題,而是防火墻配置問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/413134.html
標籤:
