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
    • 最新
    • 标签
主页 / user-204786

Łukasz Zaroda's questions

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
Łukasz Zaroda
Asked: 2020-12-24 13:10:23 +0800 CST

在“路由”模式下设置的 LXC 容器中没有网络连接

  • 4

我在 Vagrant 中尝试使用 lxc/lxd,但我对它很陌生。我设法创建了正在运行的容器,但我无法从其中 ping 任何东西(包括 8.8.8.8)。我可以从我的顶级非虚拟系统 ping 它的 IP,但它拒绝 SSH 连接。我只能使用直接从容器的主机(Vagrant)直接进入容器lxc exec my-container /bin/bash。

routed出于学习目的,我尝试在该模式下设置我的容器,但我仍然想要它。不过,LXD/LXC 文档似乎有些欠缺。

我尝试按照以下说明操作:https ://blog.simos.info/how-to-get-lxd-containers-get-ip-from-the-lan-with-routed-network/但它不起作用我到底。我可能会错过一些东西,因为我还不精通 linux 网络。

我的 Vagrant 主机正在运行Ubuntu 20.04。

我的 LXC 容器正在运行Debian 10。

我的 Vagrant 主机上的 LXC 配置:

config:
  core.https_address: '[::]:8443'
  core.trust_password: true
networks: []
storage_pools:
- config:
    source: /home/luken/lxd-storage-pools
  description: ""
  name: default
  driver: dir
profiles:
- name: default
  config: {}
  description: ""
  devices:
    root:
      path: /
      pool: default
      type: disk
- name: mail-server
  config:
    user.network-config: |
      version: 2
      ethernets:
        eth0:
          addresses:
          - 192.168.33.11/32
          nameservers:
            addresses:
            - 8.8.8.8
            search: []
          routes:
          -   to: 0.0.0.0/0
            via: 169.254.0.1
  description: Mail Server LXD profile
  devices:
    eth0:
      ipv4.address: 192.168.33.11
      nictype: routed
      parent: eth1
      type: nic
cluster: null

ip addr在我的流浪主机中:

luken@luken-tech-test:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:be:4a:e8 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 76347sec preferred_lft 76347sec
    inet6 fe80::a00:27ff:febe:4ae8/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:65:e6:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.33.2/24 brd 192.168.33.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe65:e628/64 scope link 
       valid_lft forever preferred_lft forever
6: vetha8400046@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether fe:48:28:3e:e4:fa brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.0.1/32 scope global vetha8400046
       valid_lft forever preferred_lft forever
    inet6 fe80::fc48:28ff:fe3e:e4fa/64 scope link 
       valid_lft forever preferred_lft forever

ip addr在我的容器中:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 9a:14:96:30:67:43 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 192.168.33.11/32 brd 255.255.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::9814:96ff:fe30:6743/64 scope link 
       valid_lft forever preferred_lft forever

ip r在我的流浪主机中:

default via 10.0.2.2 dev eth0 proto dhcp src 10.0.2.15 metric 100 
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15 
10.0.2.2 dev eth0 proto dhcp scope link src 10.0.2.15 metric 100 
192.168.33.0/24 dev eth1 proto kernel scope link src 192.168.33.2 
192.168.33.11 dev vetha8400046 scope link

ip r在我的容器中:

default via 169.254.0.1 dev eth0 
169.254.0.1 dev eth0 scope link

有什么我错过的吗(可能很多)?

networking linux-networking lxd lxc
  • 2 个回答
  • 3317 Views
Martin Hope
Łukasz Zaroda
Asked: 2018-09-02 13:11:00 +0800 CST

Nginx:静态文件导致404

  • 2

我正在尝试将此配方用于 Drupal 的 nginx vhost 配置:

server {
    server_name example.com;
    root /var/www/drupal8; ## <-- Your only path reference.

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # Very rarely should these ever be accessed outside of your lan
    location ~* \.(txt|log)$ {
        allow 192.168.0.0/16;
        deny all;
    }

    location ~ \..*/.*\.php$ {
        return 403;
    }

    location ~ ^/sites/.*/private/ {
        return 403;
    }

    # Block access to scripts in site files directory
    location ~ ^/sites/[^/]+/files/.*\.php$ {
        deny all;
    }

    # Allow "Well-Known URIs" as per RFC 5785
    location ~* ^/.well-known/ {
        allow all;
    }

    # Block access to "hidden" files and directories whose names begin with a
    # period. This includes directories used by version control systems such
    # as Subversion or Git to store control files.
    location ~ (^|/)\. {
        return 403;
    }

    location / {
        # try_files $uri @rewrite; # For Drupal <= 6
        try_files $uri /index.php?$query_string; # For Drupal >= 7
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?q=$1;
    }

    # Don't allow direct access to PHP files in the vendor directory.
    location ~ /vendor/.*\.php$ {
        deny all;
        return 404;
    }

    # In Drupal 8, we must also match new paths where the '.php' appears in
    # the middle, such as update.php/selection. The rule we use is strict,
    # and only allows this pattern with the update.php front controller.
    # This allows legacy path aliases in the form of
    # blog/index.php/legacy-path to continue to route to Drupal nodes. If
    # you do not have any paths like that, then you might prefer to use a
    # laxer rule, such as:
    #   location ~ \.php(/|$) {
    # The laxer rule will continue to work if Drupal uses this new URL
    # pattern with front controllers other than update.php in a future
    # release.
    location ~ '\.php$|^/update.php' {
        fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
        # Security note: If you're running a version of PHP older than the
        # latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
        # See http://serverfault.com/q/627903/94922 for details.
        include fastcgi_params;
        # Block httpoxy attacks. See https://httpoxy.org/.
        fastcgi_param HTTP_PROXY "";
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param QUERY_STRING $query_string;
        fastcgi_intercept_errors on;
        # PHP 5 socket location.
        #fastcgi_pass unix:/var/run/php5-fpm.sock;
        # PHP 7 socket location.
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }

    # Fighting with Styles? This little gem is amazing.
    # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
    location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
        try_files $uri @rewrite;
    }

    # Handle private files through Drupal. Private file's path can come
    # with a language prefix.
    location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
        try_files $uri /index.php?$query_string;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        try_files $uri @rewrite;
        expires max;
        log_not_found off;
    }
}

但是它没有按预期工作。即,我无法访问任何静态文件-它们给了我 404 错误,这对我来说完全陌生,因为如果我理解正确,根据以下片段:

location @rewrite {
    rewrite ^/(.*)$ /index.php?q=$1;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
    try_files $uri @rewrite;
    expires max;
    log_not_found off;
}

如果找不到静态文件,它应该运行 index.php... 那么为什么是 404?

另外,我在 Docker 容器中运行 nginx,但我确保它具有对所有目录的读取权限,并且我正在运行一些其他配置,例如。对于 Prestashop,它不会遇到这个问题。

nginx
  • 1 个回答
  • 3671 Views
Martin Hope
Łukasz Zaroda
Asked: 2016-01-27 08:50:20 +0800 CST

YouTrack java 进程开始在 VPS 上消失

  • 0

我在我的 VPS 上安装了 YouTrack,但最近它停止了工作。

我使用的安装方法在这里描述:https ://confluence.jetbrains.com/display/YTD65/YouTrack+JAR+as+a+Service+on+Linux.+Alternative+Method (不同的是我使用的是Apache2 http服务器到底)。它是用命令调用的:

exec $JAVA_HOME/bin/java -XX:MaxPermSize=1024m -Djetbrains.youtrack.disableBrowser=true -Djava.awt.headless=true  -Xmx1g -jar $JAR $PORT >> $LOG 2>&1 &

最重要的是 - 它一直运行良好。最近它只是停止了。我试图弄清楚发生了什么。这个 java 进程的日志输出没有表明任何错误——看起来进程在调用几秒钟后就消失了。有趣的是,每次启动时输出都不一样,我用自己的眼睛用“顶部”监视它,它看起来有时会立即消失,有时会在一段时间后消失,而且通常 - 每次都被杀死不同的状态。我找不到任何表明任何错误的日志。

我在这个 VPS 上有可用的磁盘空间和 3GB 的 RAM,1.6GB 是免费的。在占用大约 400MB 的 RAM 后,它会停止。最让我困惑的是,这台服务器上没有任何改变。

我试图查看所有内容,甚至将 oracle java 1.8 更改为 openjdk 1.7,但没有任何改变。试图将 YouTrack 版本更改为更新版本(使用 6.0,更改为 6.5) - 没有帮助。我在我的服务器上使用Ubuntu 14.04 。

我在这个过程上运行 otrace 直到它持续,它是 41MB 的文件,所以我将只粘贴它的最后一口气: http: //pastebin.com/ddfuc5yn。任何想法我什至应该看什么来诊断问题?我是不是被 VPS 提供商搞砸了?

java
  • 1 个回答
  • 100 Views
Martin Hope
Łukasz Zaroda
Asked: 2015-05-05 17:10:10 +0800 CST

TLS 诊断工具未拾取邮件服务器

  • 0

我在 mail.luken-tech.pl 下有邮件服务器。谁能解释一下这个: https ://www.ssllabs.com/ssltest/analyze.html?d=mail.luken-tech.pl&hideResults=on显示“评估失败:无法连接到服务器”,这个:http:// /www.checktls.com/perl/TestReceiver.pl给我“无法连接到服务器(原因:连接被拒绝)”。

但是这个:

openssl s_client -starttls smtp -connect mail.luken-tech.pl:587 -tls1 -ign_eof
openssl s_client -starttls smtp -connect mail.luken-tech.pl:587 -tls1_1 -ign_eof
openssl s_client -starttls smtp -connect mail.luken-tech.pl:587 -tls1_2 -ign_eof

工作得很好,我的服务器通常似乎工作正常?:) 为什么任何测试工具都无法连接到我的 smtp?这让我很困扰,因为我之前配置了一台服务器,而我没有这样的东西。我应该关心这个吗?

email-server
  • 1 个回答
  • 214 Views
Martin Hope
Łukasz Zaroda
Asked: 2015-01-23 06:37:08 +0800 CST

.htaccess 中的 mod_rewrite 和 vhost 中的基本身份验证 - 访问路径

  • 0

我想用基本身份验证锁定一个网站(在 Drupal 上制作)。Drupal 在其 .htaccess 文件中使用 mod_rewrite。我面临的问题是 - 我的虚拟主机如下所示:

<VirtualHost subdomain.mydomain.com:443>
        ServerName subdomain.mydomain.com
        DocumentRoot /srv/http/stage/mywebsite/public_html
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /srv/http/stage/mywebsite/public_html>
                AuthType Basic
                AuthName "Basic Authentication"
                AuthUserFile "/srv/http/stage/mywebsite/.htpasswd"

                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
                require valid-user
        </Directory>
</VirtualHost>

此设置适用于锁定网站,但是当我登录时,我无法访问任何路径,例如:https://subdomain.mydomain.com/content/aliquam-facilisi,因为它们给了我:“禁止”错误。config 应该如何锁定网站,但在登录后使其功能齐全?

阿帕奇版本:2.4.7

编辑:添加了缺失的指令。

.htaccess
  • 1 个回答
  • 689 Views
Martin Hope
Łukasz Zaroda
Asked: 2014-09-26 22:02:07 +0800 CST

如何在 dovecot 的“mail_location”设置中设置最后一个目录?

  • 1

我有:

mail_location = maildir:/srv/vmail/%d/%n

然而实际上,Dovecot 将邮件存储在:/srv/vmail/%d/%n/mail

我需要迁移以“Maildir”而不是“mail”结尾的邮箱。如何将此 URI 的最后一部分从“mail”更改为“Maildir”,以便在不实际更改这些目录名称的情况下迁移邮箱?

dovecot
  • 1 个回答
  • 357 Views
Martin Hope
Łukasz Zaroda
Asked: 2014-07-02 14:28:28 +0800 CST

apache2中的PHP不写入数据库

  • 0

我决定改写和改进我关闭的上一个问题,因为它的分数很差,因此被埋没了。

所以,几天前我在我的 VPS 上安装了一个 Ubuntu 14.04(之前有 12.04)。我配置了 Apache2 和 PHP,在那里上传了我的网站,一切似乎都正常,但我发现我无法登录我的网站。所以现在特征:

  • 问题只存在于这台服务器上,这不是 PHP 脚本本身的问题,因为它在本地工作得很好。

  • Drupals CLI (Drush) 工作得很好。我可以用它来生成一次性登录链接并用它登录,但是奇怪的事情发生了,比如管理菜单在开始,刷新后 - 消失了。我有会话 cookie,并且可以访问管理页面,所以这似乎不是会话的问题。然而,我将尝试做出的每一个改变——都不会完成。发送表格后,一切都会恢复原状。所以这似乎不是会话的问题。不会发生错误。

  • Apache 日志没有错误。Drupal 本身的日志中也没有错误。mysql.err 和 mysql.log 为空。

  • 在这台服务器上,我还安装了基于 Ruby on Rails 的 Redmine,并且我正在使用 Passenger mod 来运行它 - 它工作正常,没有出现问题,所以它可能与 PHP 有关。

  • MySQL 用户具有适当的权限,他可以写入数据库,他的凭据由 Drush (CLI) 使用,并且它按预期工作(从命令行)。

似乎从 http 执行的 PHP 无法对数据库进行任何更改,但是可以使用相同的凭据从 CLI 完全访问数据库。它看起来像一些错误配置,但很难追踪,因为它不会泄露日志中的任何内容。因此我没有太多要展示的东西,但我可以从 /etc/php5/apache2/php.ini 粘贴我的 php.ini ,但它是默认的 - 我没有在那里改变任何东西,这让我更加困惑 - http: //pastebin.com/ZjiSSSht。如果您需要来自该服务器的更多数据,请在评论中告诉我,我不确定还有什么有用的。

系统:Ubuntu 14.04、Apache 2.4.7、PHP 5.5.9-1ubuntu4.2、mysql Ver 14.14 Distrib 5.5.37

php5
  • 1 个回答
  • 139 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