docker容器中报错curl: (7) Connection refused
前言:笔者使用docker作为自己的本地开发环境(使用docker-compose作为部署工具),在使用laravel+passport作为自己的接口API认证。发现了一个神奇的问题:在设置nginx的项目conf文件,项目设置一个虚拟域名api.test。这时候请求api.test/oauth/token是可以请求的,但是通过获取后的token再去请求其他接口的时候却一直报500:Unauthe
前言:
笔者使用docker作为自己的本地开发环境(使用docker-compose作为部署工具),在使用laravel+passport作为自己的接口API认证。发现了一个神奇的问题:在设置nginx的项目conf文件,项目设置一个虚拟域名api.test。这时候请求api.test/oauth/token是可以请求的,但是通过获取后的token再去请求其他接口的时候却一直报500:Unauthenticated错误。使用本地ip192.168.0.XXX却没有这个问题
原因:
请求接口发生在docker容器内部,这时候无法识别api.test这个虚拟域名。
解决:
docker-compose可以直接在php容器配置里新增extra_hosts属性
extra_hosts:
# - api.payment.test:10.0.75.2
# - api.payment.test:127.0.0.1
- api.payment.test:192.168.0.159
如果不是使用docker-compose,需要手动进入php容器并
cd /etc
vim hosts
写入 192.168.0.159 api.payment.test
更多推荐
所有评论(0)