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