AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[gitea](server)

Martin Hope
Łukasz Zaroda
Asked: 2023-06-20 05:53:03 +0800 CST

尝试将通过 Caddy 提供的 Woodpecker CI 与 Gitea 配对时出现“意外的 EOF”错误

  • 5

你是我唯一的希望。我正在拔头发。我尝试做一件非常简单的事情,将Woodpecker CI实例与Gitea实例配对。

  1. 我有一个在单独的主机上运行的 Gitea。
  2. 我在 Gitea 的用户配置中创建了一个用于 Woodpecker 的 oauth2 应用程序。
  3. 我有一个Woodpecker CI为 Gitea 配置的实例,实际上可以通过 https 访问。它有效,有一个“登录”按钮。
  4. 我点击它。它将我重定向到 Gitea。我登录Gitea并在Gitea中授权Woodpecker。
  5. 然后,我通过 Gitea 应用程序配置中的重定向 URI 重定向回 Woodpecker,突然间,我HTTP ERROR 502从 Woodpecker 实例获取,无法从那里继续。

有关设置的一些信息。Woodpecker server我在 LXD/LXC 容器中运行二进制文件。它位于反向代理后面:Caddy。此503错误在 Caddy 的日志中留下痕迹:

Jun 19 23:01:37 woodpecker-server caddy[158]: {"level":"error","ts":1687208497.326067,"logger":"http.handlers.reverse_proxy","msg":"reading from backend","error":"unexpected EOF"}
Jun 19 23:01:37 woodpecker-server caddy[158]: {"level":"error","ts":1687208497.326134,"logger":"http.handlers.reverse_proxy","msg":"aborting with incomplete response","error":"unexpected EOF"}

啄木鸟的原木里什么也没有。

这是我的啄木鸟的配置:

WOODPECKER_HOST=[REDACTED]
WOODPECKER_ADMIN=[REDACTED]
WOODPECKER_LOG_LEVEL=warn
WOODPECKER_LETS_ENCRYPT=false

WOODPECKER_GITEA=true
WOODPECKER_GITEA_URL=[REDACTED]
WOODPECKER_GITEA_CLIENT=[REDACTED]
WOODPECKER_GITEA_SECRET=[REDACTED]
WOODPECKER_GITEA_SKIP_VERIFY=false

Caddyfile

[REDACTED] {
  reverse_proxy localhost:8000
}
# caddy version
v2.6.4 h1:2hwYqiRwk1tf3VruhMpLcYTg+11fCdr8S3jhNAdnPy8=

# woodpecker-server --version
woodpecker-server version 0.15.9

令我困惑的是,啄木鸟服务器登录页面似乎可以工作。它将我重定向到我的 Gitea,它允许我授权啄木鸟并将我重定向回啄木鸟的https://[HOST]/authorize页面。所以,看起来所有数据都是正确的。但由于某种原因,在这一步之后它无法提供正确的响应。

我确信 Gitea+Woodpecker 设置非常常见。有谁知道这可能是什么原因?看什么?

更多信息: Gitea 位于 nginx 后面,其配置为:

server {
    listen 80;
    listen 443 ssl;

    server_name [REDACTED];

    ssl_certificate /etc/letsencrypt/live/[REDACTED]/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/[REDACTED]/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;

    location / {
        client_max_body_size 512M;
        proxy_pass http://unix:/run/gitea/gitea.sock;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # Redirect non-https traffic to https
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}
gitea
  • 2 个回答
  • 47 Views
Martin Hope
Patrick Bucher
Asked: 2021-08-07 04:57:42 +0800 CST

Gitea 提供了错误的 SSH 密钥

  • 0

我在可公开访问的虚拟机上运行 Gitea gitea.myorg.foo。这是与我的配置文件的 SSH 配置相关的服务器部分:

[server]                                                                                                                       
SSH_DOMAIN       = gitea.myorg.foo                                                                                            
DOMAIN           = gitea.myorg.foo                                                                                            
ROOT_URL         = https://gitea.myorg.foo/                                                                                   
DISABLE_SSH      = false                                                                                                       
SSH_PORT         = 22                                                                                                                                                                                                                                                                                                     
OFFLINE_MODE     = false

这意味着我运行的是服务器的 sshd,而不是 Gitea 的内部 sshd。

服务器在名为 的用户下运行git。在/home/git/.ssh/authorized_keys中,列出了授权密钥(每个用户和部署密钥)。

不幸的是,当我尝试克隆启用了该部署密钥的存储库时,未提供部署密钥。

假设我想克隆git@gitea.myorg.foo/org/repo.git,我得到一个签名与 Web UI 中“部署密钥”下显示的签名完全不同的密钥。当我运行时ssh-keyscan gitea.myorg.foo,我只得到签名中找不到的/home/git/.ssh/authorized_keys。

如何确定和配置 SSH 提供给客户端的密钥?

编辑:我注意到提供的密钥是标记为HostKey定义的密钥/etc/ssh/sshd_config。我需要使用 Gitea 的内部 SSH 服务器,还是可以相应地配置我的本地 SSH 服务器?

deployment ssh git gitea
  • 1 个回答
  • 365 Views
Martin Hope
Patrick Bucher
Asked: 2021-07-01 22:50:29 +0800 CST

配置管理下的Gitea:生成和静态设置

  • 0

我需要为组织设置 Gitea 服务器。设置本身很简单,手动安装时我设法在一个小时内启动了 Gitea 。

但是,我的组织使用配置管理工具来处理机密和配置设置。所以我的想法是我/etc/gitea/app.ini使用配置文件模板创建。

但是当我运行 Gitea 设置时,会创建其他值,例如 JWT 令牌(JWT_SECRET在[oauth2]配置文件的部分中),在 Gitea 启动并运行之前我显然无法弥补。

所以一方面,我需要预先定义app.ini,另一方面,我需要 Gitea 来控制app.ini。但是当我的配置脚本运行时,它会覆盖这些设置。

是否可以将这两组设置拆分为多个配置文件:一组静态预定义,一组由 Gitea 管理?

configuration-management gitea
  • 1 个回答
  • 25 Views
Martin Hope
Shaz Hemani
Asked: 2020-05-22 03:31:23 +0800 CST

SSH连接在gitea中不起作用

  • 1

我已经使用 docker-compose 设置了 gitea,我机器的外部 SSH 端口是 4444,我在 sshd_config 中设置

version: '2'
volumes:
  gitea:
  postgres:
networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    env_file:
      - .env
    restart: always
    networks:
      - gitea
    volumes:
      - gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"
      - "2222:22"
    depends_on:
      - postgres
  postgres:
      image: postgres:9.6
      restart: always
      env_file:
        - gittea_db.env
      networks:
        - gitea
      ports:
        - "5432:5432"
      volumes:
        - postgres:/var/lib/postgresql/data

以下是 .env 文件

USER_UID=1002
USER_GID=1001
DB_TYPE=postgres
DB_HOST=postgres:5432
DB_NAME=gittea
DB_USER=gittea
DB_PASSWD=password12
INSTALL_LOCK=True
APP_NAME=myapp
RUN_MODE=prod
DOMAIN=source.smarticlelabs.com
ROOT_URL=https://source.smarticlelabs.com
SSH_LISTEN_PORT=22
SSH_PORT=2222

但是当我在添加我的 ssh 密钥后尝试克隆一个 repo 时,我收到了这个错误

git clone ssh://git@51.15.245.237:2222/superadmin/testrepo.git
Cloning into 'testrepo'...
ssh: connect to host 51.15.245.237 port 2222: Connection refused
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
vps docker-compose gitea
  • 1 个回答
  • 4396 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve