首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无人机CI/CD登入失败。对我的VM的无效响应

无人机CI/CD登入失败。对我的VM的无效响应
EN

Stack Overflow用户
提问于 2021-02-07 11:08:34
回答 1查看 447关注 0票数 2

当我试图用Bitbucket Server启动我的无人机服务器时,出现了一个错误。

我有一个带有Centos7的VM和nginx。我在127.0.0.1:7990上用docker启动了bitbucket服务器,并为它的代理传递配置了nginx。

代码语言:javascript
复制
server {
    server_name bitbucket.somniumgame.com;

    location / {
        if ($http_user_agent = "") { return 404; }

        if ($limit_bots = 1) { return 404; }

        proxy_pass http://127.0.0.1:7990;
        proxy_set_header    X-Forwarded-Host $host;
        proxy_set_header    X-Forwarded-Server $host;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    Host $host;
        proxy_redirect      off;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/bitbucket.somniumgame.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/bitbucket.somniumgame.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = bitbucket.somniumgame.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name bitbucket.somniumgame.com;
    listen 80;
    return 404; # managed by Certbot
}

它非常成功地与Jira Server集成,Jira Server通过代理配置了Jira Server。接下来,我正在尝试将无人机CI/CD与Bitbucket Sever集成在一起。我使用他们的文档https://docs.drone.io/server/provider/bitbucket-server/,但它对我不起作用。

我要开始无人机对接

代码语言:javascript
复制
docker run \
  --volume=/var/lib/drone:/var/lib/drone:z \
  --volume=/etc/bitbucket/key.pem:/etc/bitbucket/key.pem \
  --env=DRONE_GIT_PASSWORD=<user_password> \
  --env=DRONE_GIT_USERNAME=<user_name> \
  --env=DRONE_GIT_ALWAYS_AUTH=false \
  --env=DRONE_STASH_SERVER=https://bitbucket.somniumgame.com/ \
  --env=DRONE_STASH_CONSUMER_KEY=OauthKey \
  --env=DRONE_STASH_PRIVATE_KEY=/etc/bitbucket/key.pem \
  --env=DRONE_SERVER_HOST=drone.somniumgame.com \
  --env=DRONE_SERVER_PROTO=https \
  --env=DRONE_RPC_SECRET=<shared_secret_generated_by: openssl rand -hex 16> \
  --env=DRONE_LOGS_DEBUG=true \
  --env=DRONE_LOGS_TEXT=true \
  --env=DRONE_LOGS_PRETTY=true \
  --env=DRONE_LOGS_COLOR=true \
  --publish=127.0.0.1:8090:80 \
  --publish=127.0.0.1:8091:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1

在bitbucket服务器上,我创建了具有默认无人驾驶权限的用户(没有服务器管理特权)。从https://docs.drone.io/server/provider/bitbucket-server/开始完成1步。但我在任何地方都不使用个人访问令牌。我的配置如下所示:

应用程序详细信息

代码语言:javascript
复制
Application Name: Drone
Application Type: Generic Application
Application URL: https://drone.somniumgame.com
Display URL: https://drone.somniumgame.com

传出身份验证

代码语言:javascript
复制
Service Provider Name: Drone
Consumer Key: OauthKey
Shared Secret: <shared_secret_generated_by: openssl rand -hex 16>
Request Token URL: /
Access Token URL: /
Authorize URL: /

传入身份验证

代码语言:javascript
复制
Consumer Key: OauthKey
Consumer Name: Drone
Public Key: <generated_in_/etc/bitbucket/key.pub> 
Consumer Callback URL: None
Allow 2-Legged OAuth: false
Execute as: None

我的无人机码头日志:

代码语言:javascript
复制
DEBU[0000] main: creating the Stash client               server="https://bitbucket.somniumgame.com/" skip_verify=false
INFO[0000] main: internal scheduler enabled
DEBU[0000] main: license loaded                          build.limit=5000 expires="0001-01-01 00:00:00 +0000 UTC" kind=trial repo.limit=0 user.limit=0
INFO[0000] starting the cron scheduler                   interval=30m0s
INFO[0000] starting the http server                      acme=false host=drone.somniumgame.com port=":80" proto=https url="https://drone.somniumgame.com"
INFO[0000] starting the zombie build reaper              interval=24h0m0s

我不明白为什么80端口,如果我使用https proto?

我的nginx无人机配置:

代码语言:javascript
复制
server {
    server_name drone.somniumgame.com;

    location / {
        if ($http_user_agent = "") { return 404; }

        if ($limit_bots = 1) { return 404; }

        proxy_pass http://127.0.0.1:8090;
        proxy_set_header    X-Forwarded-Host $host;
        proxy_set_header    X-Forwarded-Server $host;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    Host $host;
        proxy_redirect      off;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/drone.somniumgame.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/drone.somniumgame.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

server {
    if ($host = drone.somniumgame.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    server_name drone.somniumgame.com;
    listen 80;
    return 404; # managed by Certbot
}

当我试图打开https://drone.somniumgame.com/时,登录失败了。无效响应。日志在这之后看起来是这样的:

代码语言:javascript
复制
DEBU[0301]                                               fields.time="2021-02-07T11:07:18Z" latency="692.791µs" method=GET remote="172.17.0.1:48352" request=/ request-id=1o9PsMWwAnQc8hOwfVIQNUPoECw
DEBU[0302] api: authentication required                  request-id=1o9PsMaQk8cpmlnMRw1BN0y6Itb
DEBU[0302] api: guest access                             request-id=1o9PsMaQk8cpmlnMRw1BN0y6Itb
DEBU[0302]                                               fields.time="2021-02-07T11:07:18Z" latency="190.226µs" method=GET remote="172.17.0.1:48356" request=/api/user request-id=1o9PsMaQk8cpmlnMRw1BN0y6Itb
DEBU[0302] events: stream opened                         request-id=1o9PsLGMLljP8KYN1wUh3fSvXRr
DEBU[0307] cannot authenticate user: Invalid Response
DEBU[0307]                                               fields.time="2021-02-07T11:07:23Z" latency=5.045881375s method=GET remote="172.17.0.1:48364" request=/login request-id=1o9PsMBp3ycu8U0FnUkuLTcm2rj
DEBU[0307]                                               fields.time="2021-02-07T11:07:23Z" latency="130.637µs" method=GET remote="172.17.0.1:48370" request="/login/error?message=Invalid%20Response" request-id=1o9Pt130Alm3Jt9sRnAHiEYssuN
DEBU[0307] events: stream cancelled                      request-id=1o9PsLGMLljP8KYN1wUh3fSvXRr
DEBU[0307] events: stream closed                         request-id=1o9PsLGMLljP8KYN1wUh3fSvXRr
DEBU[0307] api: guest access                             request-id=1o9PsLGMLljP8KYN1wUh3fSvXRr
DEBU[0307]                                               fields.time="2021-02-07T11:07:23Z" latency=5.187463046s method=GET remote="172.17.0.1:48360" request=/api/stream request-id=1o9PsLGMLljP8KYN1wUh3fSvXRr
DEBU[0307] api: authentication required                  request-id=1o9PtBl2zOctBOLf1KUtbwgPdqj
DEBU[0307] api: guest access                             request-id=1o9PtBl2zOctBOLf1KUtbwgPdqj
DEBU[0307]                                               fields.time="2021-02-07T11:07:24Z" latency="121.613µs" method=GET remote="172.17.0.1:48374" request=/api/user request-id=1o9PtBl2zOctBOLf1KUtbwgPdqj
DEBU[0307] events: stream opened                         request-id=1o9Pt8hxtXtKfe3YMxYXkTVMJ9d
EN

回答 1

Stack Overflow用户

发布于 2021-04-17 19:05:31

  1. I必须删除bitbucket上的应用程序链接并重新创建它以解决此问题,同时,
  2. I已经使用相同的公钥删除了其他无人驾驶飞机应用程序链接。

(2)可能不需要

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

https://stackoverflow.com/questions/66087182

复制
相关文章

相似问题

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