我确实通过docker compose组合了一个Web应用程序的容器网络。只要我在标准443 SSL端口(仅向主机公开的端口)上运行它,它就可以平稳运行。当我切换到另一个端口(我需要在此计算机上运行多个容器网络)时,来自服务器外部的连接始终显示超时。尝试使用端口8443、9001和其他几个端口。我没有对容器本身进行任何其他更改。
奇怪的是,当我curl
在具有本地主机和指定端口的服务器上执行操作时,它显示了应用程序而没有任何问题。因此,该应用程序运行良好,只是外部连接被卡住了。
应用程序本身在容器内有一个自签名证书,但这不应该是
我尝试到了什么(针对端口8443):
netstat
显示端口8443(或我尝试过的任何其他端口)已打开并列出(与443相同,另一个应用程序正常工作)curl
具有localhost:8443的服务器上的A可以正常工作这是我从外面的卷曲:
λ curl -v https://xxx.xxx.xxx.xxx:8443/
* Trying 87.106.152.131...
* TCP_NODELAY set
* connect to xxx.xxx.xxx.xxx port 8443 failed: Timed out
* Failed to connect to xxx.xxx.xxx.xxx port 8443: Timed out
* Closing connection 0
curl: (7) Failed to connect to xxx.xxx.xxx.xxx port 8443: Timed out
那里没有太多信息。
我的问题是:
确实是防火墙。我不知道除了22,80,433以外,其他所有港口都设有封锁线。这似乎是出于安全原因,但是当您除了显示一个简单的网站之外,还想对该应用程序做更多操作时,请不要使用它了。