问题列表 - 第5190页

授予非 root 用户使用一个端口的权限

我托管一个实验室服务器,我是 root(也是普通用户)。

域名是 example.org,我给每个成员一个子域,例如 Bob.example.org 代表 Bob,anna.example.org 代表用户 Anna。我想你明白了。:) 使用 nginx 将子域反向代理到特定端口。

我的问题是,有什么方法可以授予非 root 用户在其特定端口范围上启动 docker 容器的权限。例如,Anna 的范围为 1300-1350,其中端口 1300 绑定到 anna.example.org,其他端口保留。

该系统运行 Debian 11 Bullseye 和最新的 Docker 版本。

linux docker

7
推荐指数
3
解决办法
5120
查看次数

为什么我的 systemd 计时器仅在单位成为目标时触发一次?

我有几个服务(静态站点生成器),我想从同一个 systemd 计时器定期触发它们。我找到了这个问题/答案,它准确地涵盖了我想要做的事情,并描述了一个设置,其中多个服务的.target文件Wants=由相应的计时器触发。这听起来不错,但我发现当我实际设置它时,它只会触发一次,然后自行禁用!

\n

我准备了一个最小的工作示例(这不会触发多个服务,但演示了相同的问题):

\n

test-timer.timer:

\n
[Unit]\nDescription=A test timer\n\n[Timer]\nOnCalendar=*-*-* *:*:30\nUnit=test-timer.target\n\n[Install]\nWantedBy=timers.target\n
Run Code Online (Sandbox Code Playgroud)\n

test-timer.target:

\n
[Unit]\nDescription=Target unit\nWants=test-timer.service\nAfter=test-timer.service\n\n[Install]\nWantedBy=timers.target\n
Run Code Online (Sandbox Code Playgroud)\n

test-timer.service:

\n
[Unit]\nDescription=Run test\n\n[Service]\nExecStart=/usr/bin/bash -c "date --rfc-3339=\'seconds\' >> /tmp/test-timer-output"\n\n[Install]\nAlso=test-timer.target\n
Run Code Online (Sandbox Code Playgroud)\n

启用定时器:

\n
$ sudo cp test-timer.* /etc/systemd/system/\n$ sudo systemctl enable --now test-timer.timer\nCreated symlink /etc/systemd/system/timers.target.wants/test-timer.timer \xe2\x86\x92 /etc/systemd/system/test-timer.timer.\n
Run Code Online (Sandbox Code Playgroud)\n

systemctl list-timers --all然后,当我在第一次运行之前查看 的输出时,我得到(忽略其他计时器):

\n
NEXT                        LEFT       LAST     PASSED       UNIT                ACTIVATES\nFri 2021-10-08 10:38:30 EDT 21s left   n/a      n/a          test-timer.timer    test-timer.target\n
Run Code Online (Sandbox Code Playgroud)\n

第一次运行后,NEXT …

systemd systemd-timers

9
推荐指数
1
解决办法
2605
查看次数

“从上游读取响应标头时上游发送了太大的标头”错误 - 增加缓冲区不起作用

我已经在 AWS 上设置了 Bitnami Nginx 开源堆栈。我已经开始使用 auth0 作为我的身份验证服务创建应用程序。成功登录后,必须将代码交换为访问令牌。这是使用完成的$auth0->exchange($url_with_params);

但是,这给了我以下错误:

    2021/10/10 17:38:36 [error] 14305#14305: *9 upstream sent too big header while reading response header from upstream, client: [ip], server: api.redacted.com, request: "GET /login_callback?code=FKIk4X_uIgqKg-zo&state=40da33a1177fc8fbc275dcaf826fc819 HTTP/1.1", upstream: "fastcgi://unix:/opt/bitnami/PHP/var/run/www.sock:", host: "api.redacted.com", referrer: "https://deva.redacted.com/"   
Run Code Online (Sandbox Code Playgroud)

我读过一百篇文章,说必须增加proxy_buffer_sizefastcgi_buffer_size才能消除此错误。我尝试增加这两个参数并重新启动 Nginx,但我不断收到相同的错误。

我也尝试过设置proxy_buffering offfastcgi_buffering off,但仍然遇到相同的错误。

这里肯定还有其他事情发生。
我如何记录或查看 Nginx 拒绝处理的实际响应?

nginx php-fpm

5
推荐指数
1
解决办法
1303
查看次数

SSL 与 NGINX 和 .pem 文件

我需要在 NGINX 服务器上为我的网站添加 SSL 证书。

我的域名提供商给了我一个 zip 文件供我下载,其中包含:

domain.cert.pem
intermediate.cert.pem
private.key.pem
public.key.pem
Run Code Online (Sandbox Code Playgroud)

[为了清楚起见:我没有重命名“域”,它被称为domain.cert.pem]

我很困惑该怎么做,因为我可以在网上找到的所有教程都需要不同的文件,有些以 .crt 结尾。

有人有建议吗?


我的 nginx 配置:

server {
  listen 80 default_server;
  ssl on;
  server_name mydomain.com;

  ssl_certificate /usr/src/app/domain.cert.pem;
  ssl_certificate_key /usr/src/app/private.key.pem;

  # vue app & front-end files
  location / {
    root /usr/src/app/dist;
    try_files $uri /index.html;
  }

  # node api reverse proxy
  location /api/ {
    proxy_pass http://localhost:4000/;
  }
}
Run Code Online (Sandbox Code Playgroud)

重启nginx时出错:

nginx: [emerg] PEM_read_bio_X509("/usr/src/app/domain.ce
Run Code Online (Sandbox Code Playgroud)

ssl nginx

2
推荐指数
1
解决办法
3万
查看次数

.htaccess - 从基本身份验证保护中排除文件夹

我有一个网站,如果不输入基本身份验证凭据,任何人都不允许进入。

但是,我需要每个人都可以访问媒体文件夹,因为我们正在使用创建 PDF 的第三方扩展,并且只有在媒体可访问时我们才能完全测试它们。

媒体文件夹位于/var/www/company/pub/media

域 ( www.example.com ) 指向/var/www/company/pub,因此pub文件夹是入口点。

这是我的 .htaccess 尝试 ( /var/www/company/.htaccess):

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/pub/
RewriteCond %{REQUEST_URI} !^/setup/
RewriteCond %{REQUEST_URI} !^/update/
RewriteCond %{REQUEST_URI} !^/dev/
RewriteRule .* /pub/$0 [L]
DirectoryIndex index.php

AuthType Basic
AuthName "Protected"
AuthUserFile "/var/www/company/.htpasswd"

# Exclude media folder from basic auth
SetEnvIf Request_URI "^/media/*" media

Order allow,deny
Require valid-user
Allow from env=media
Deny from env=!media
Satisfy any
Run Code Online (Sandbox Code Playgroud)

但如果我尝试调用http://www.example.com/media/someimage.jpg那么我仍然会收到基本的身份验证登录提示。

环境:

阿帕奇 2.4.41 (Ubuntu)

.htaccess http-basic-authentication apache2

6
推荐指数
2
解决办法
6059
查看次数

nginx 配置中的“root html”是什么意思?

我看到了这些行:

\n
  location = /config.json {\n    return 404;\n  }\n\n  location = /config.js {\n    return 404;\n  }\n\n  location /.git {\n    return 404;\n  }\n\n\n  location = /50x.html {\n    root   html;\n  }\n
Run Code Online (Sandbox Code Playgroud)\n

我知道前 3 条规则是禁止用户访问敏感文件,但最后一条规则是什么意思?什么是root html

\n

我是 nginx 新手,有人可以解释一下吗?

\n

nginx -V 输出:

\n
\xe2\x9e\x9c  ~ nginx -V\nnginx version: nginx/1.14.0 (Ubuntu)\nbuilt with OpenSSL 1.1.1  11 Sep 2018\nTLS SNI support enabled\nconfigure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-H4cN7P/nginx-1.14.0=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock …
Run Code Online (Sandbox Code Playgroud)

nginx

5
推荐指数
1
解决办法
4649
查看次数

DKIM 的 1024 位或 2048 位密钥?

参考此:https://crypto.stackexchange.com/questions/72297/recommended-key-size-for-dkim

我从中得到的是(当时)DNS 提供商(通常)允许最多 1024 位密钥,但不允许 2048 位。现在,我的提供商允许我使用 2048 并确认 DKIM 标志。当然,该帖子声称 1024 是完全安全的,但如果我可以选择使用 2048,我愿意。

只要我的提供商支持这么大的 TXT 记录,我就可以继续了吗?或者还会有问题吗?

dkim opendkim

5
推荐指数
1
解决办法
8994
查看次数

启用临时容器 AWS EKS

kubectl debug我正在尝试通过尝试使用在 aws eks 中默认禁用的临时容器来调试 distroless POD 。我正在使用 aws eks 1.21

\n
\xe2\x9c\x97  kubectl debug -it opentelemetry-collector-agent-6hqvf --image=busybox --target=some-app\n\nerror: ephemeral containers are disabled for this cluster (error from server: "the server could not find the requested resource")\n
Run Code Online (Sandbox Code Playgroud)\n

那么如何为 EKS 启用它们呢?

\n

kubernetes kubectl aws-eks

7
推荐指数
1
解决办法
2075
查看次数

在 nginx、pem、bundle、crt 上安装 godaddy ssl 证书

根据可用的说明和论坛帖子,还不清楚如何处理从 Godaddy 购买 SSL 证书时从 Godaddy 获得的三个文件。Godaddy 并没有很直白地解释它。事后看来,现在当知道如何去做时,人们可能会认为他们不在购买时附带的说明中详细说明这一点是不明智的;因为让它发挥作用并非易事。

在 GoDaddy 购买标准 SSL 证书 (Starfield SHA-2) 或 (Godaddy SHA-2) 时。您指定您拥有的服务器类型并下载 zip 包。在此过程中,您还下载了两个txt文件。

对于 Nginx,您指定服务器类型“其他”,并且您的 zip 文件包含 3 个文件 (1-3)。在此过程中,还创建了另外两个文件(4-5),分别保存:

  1. 3423l4kj23l4j.crt
  2. 3423l4kj23l4j.pem
  3. sf_bundle-g2-g1.crt
  4. 生成的私钥.txt
  5. 生成的csr.txt

用记事本打开时,上面的1和2是相同的

'-----BEGIN CERTIFICATE-----
MM123XXXXXX
XXXXXXXO8km
-----END CERTIFICATE-----'
Run Code Online (Sandbox Code Playgroud)

sf_bundle-g2-g1.crt上面不包含 1 或 2,而是包含三个单独的条目

'-----BEGIN CERTIFICATE-----
XXXX1
XXXX2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXX3
XXXX4
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXX5
XXXX6
-----END CERTIFICATE-----'
Run Code Online (Sandbox Code Playgroud)

generated-private-key.txt是独特的

'-----BEGIN PRIVATE KEY-----
XXXX7
XXXX8
-----END PRIVATE KEY-----'
Run Code Online (Sandbox Code Playgroud)

最后,generated-csr.txt, 也是唯一的

'-----BEGIN CERTIFICATE REQUEST----- …
Run Code Online (Sandbox Code Playgroud)

ssl nginx godaddy

5
推荐指数
1
解决办法
1万
查看次数

报告 100% CPU 使用率,但没有进程使用该 CPU

我在裸机上运行 Debian 10(内核 4.19.0-18-amd64),最近我注意到奇怪的 CPU 使用情况。

htop 的屏幕截图,按 CPU% 排序

top 的屏幕截图,按 CPU% 排序

正如您所看到的,所有核心的 CPU 使用率均报告为 100%,但每个单独进程的报告使用率似乎并不能证明这一点。

我看过iotop

iotop,按升序排列

我还能去哪里寻找这个资源霸主呢?

谢谢。

linux debian top cpu-usage htop

5
推荐指数
1
解决办法
3498
查看次数