首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drone.io与Github redirect_uri_mismatch

Drone.io与Github redirect_uri_mismatch
EN

Stack Overflow用户
提问于 2017-05-19 10:33:28
回答 1查看 1.9K关注 0票数 1

我正在尝试设置无人机CI 0.6与吉突。然而,我不断地发现oauth错误。也许有人能指出我做错了什么。我已经尝试过了&没有DRONE_HOST,但它总是说有错配。

错误:

无法验证用户身份。redirect_uri_mismatch redirect_uri必须匹配此应用程序的注册回调URL。https://developer.github.com/v3/oauth/#redirect-uri-mismatch

docker-compose.yml :

代码语言:javascript
复制
version: '2'

services:
  drone-server:
    image: drone/drone:0.6
    ports:
      - 8822:8000
    volumes:
      - /var/lib/drone:/var/lib/drone/
    restart: always
    environment:
      - DRONE_OPEN=true
      - DRONE_HOST=http://ci.rallabs.com
      - DRONE_GITHUB=true
      - DRONE_GITHUB_CLIENT=myGithubClient
      - DRONE_GITHUB_SECRET=myGithubSecret
      - DRONE_SECRET=mySecret
  drone-agent:
    image: drone/drone:0.6
    command: agent
    restart: always
    depends_on:
      - drone-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - DRONE_SERVER=ws://drone-server:8000/ws/broker
      - DRONE_SECRET=mySecret

Github应用程序详细信息:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 20:11:54

redirct_url不匹配的一个常见原因是,无人驾驶飞机运行在反向代理(例如nginx)后面,无法找到自己的地址来正确构造重定向url。解决方案是设置X-Forwarded-ForX-Forwraded-Proto参数,允许无人机确定自己的地址。

对于nginx,从0.6版本开始,这是docs 1中推荐的nginx配置。

代码语言:javascript
复制
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

server {
    listen 80;
    server_name drone.example.com;

    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;

        proxy_pass http://127.0.0.1:8000;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_buffering off;

        chunked_transfer_encoding off;
    }

    location ~* /ws {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
    }
}

1

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44067782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档