描述一下场景: 我的服务是 django 写的,然后添加了第三方登陆(微博,GitHub ),之前登陆没问题,但是我把服务使用容器化部署之后( python 容器当服务-->nginx 跟本地映射)
因为服务的容器名称是 web,所以 nginx 上面的配置是
location / {
proxy_pass http://web:8000;
}
其他页面都没啥问题,但是第三方登陆的跳转发现了问题,在登陆的时候选择微博的时候,我发现回调地址不是我自己的域名,而是容器的那个 http://web
具体可以看一下效果: https://tendcode.com/accounts/login/?next=/ 点击微博登陆,会发现
https://api.weibo.com/oauth2/authorize?client_id=1858902686&redirect_uri=http%3A%2F%2Fweb%3A8000%2Faccounts%2Fweibo%2Flogin%2Fcallback%2F&scope=&response_type=code&state=gtjDNiAYOO7Y
redirect_uri
变成了 http://web 而不是我自己的域名
我不知道这个问题到底是 nginx 可以解决还是要去看 django-allauth
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.