目前我已经设置
docker
和linux ubuntu 18.04
在我的容器中reverent_ptolemy
包含我的 api 的项目。
在我的容器上
HTTP vhosts 配置正在监听3021
HTTPS vhosts 配置正在监听1250
在我的主机上
端口3021
映射到端口80
端口1250
映射到端口443
在我的host
码头
我可以通过HTTPS Curl
像这样
curl https://<sub-domain>/api/login
但是当我尝试从浏览器访问它时
这给了我这样的错误
PS:
只能从外部世界访问,而http://<subdomain>/api/login
不是https
HTTPS 只能在主机和容器上访问,而不能从外部访问的原因可能是什么?
首先检查 iptables(如果您允许 https 流量)或直接动态添加规则(重新启动或 iptables 重新启动后将不可用 - 这只是为了测试):
iptables -I INPUT -p TCP --dport 443 -j ACCEPT
其次,您尝试为您的 API 使用 GET 方法,而它很可能只允许 POST 方法。
我解决了我的问题。
首先,如果您尝试在 docker 上执行 SSL。确保您的
443
端口已转发。您可以检查您的 443 端口是打开还是关闭这里: https: //www.yougetsignal.com/tools/open-ports/