问题列表 - 第5164页

PHP-FPM 在具有 16 线程的服务器上使用 100% CPU

我有一台具有 32 GB RAM 和 16 个线程的服务器。该服务器有一个 PHP API,可以接收来自其他外部 API 的许多请求,我在 PHP-FPM 中进行了配置以支持所有这些请求,而不会减慢网站速度,这运行良好 1 年,现在请求几乎翻了一番,这离开网站页面速度很慢,需要 5-6 秒才能加载,这是不正常的。也许我必须在 PHP-FPM 中重做一个配置来支持这种新的请求需求,在这种情况下你会怎么做?

我的服务器有 32 GB RAM,但仅使用 2.5 GB,可以吗?是否可以保持 RAM 和 CPU 之间的平衡来提高 CPU 性能还是我在胡说八道?

pm.max_children = 32
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
pm.max_requests = 1000
Run Code Online (Sandbox Code Playgroud)

htop命令输出 顶部

PHP-FPM 有 32 个子进程正在运行。

php centos php-fpm cpu-usage digital-ocean

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

ss 输出中 0.0.0.0 和 * 网络之间的差异

ss命令似乎区分*0.0.0.00.0.0.0:22虽然 ssh和的列表[::]:22很清楚,*:7946*:80并不那么清楚。

$ ss -ntl
State    Recv-Q   Send-Q     Local Address:Port     Peer Address:Port  
LISTEN   0        128              0.0.0.0:22            0.0.0.0:*     
LISTEN   0        128                    *:7946                *:*     
LISTEN   0        128                    *:80                  *:*     
LISTEN   0        128                 [::]:22               [::]:* 
Run Code Online (Sandbox Code Playgroud)

为什么不是0.0.0.0:79460.0.0.0:80?这里有什么区别?

networking linux routing

6
推荐指数
1
解决办法
2158
查看次数

Windows Server 2019 的 TLS 1.3 支持

Windows Server 2019 支持 TLS 1.3 吗?我找到了来自微软的文档,但由于某种原因,该矩阵不包括服务器 2019: https: //docs.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl--schannel- ssp-

security ssl windows-server-2019

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

fail2ban:白名单 IPv6 地址

我需要在fail2ban 中将一个ipv6 地址列入白名单,但是当我将它们添加到我的jail.conf 中的ignoreip 语句时,它们无论如何都会被阻止。这就是我所拥有的/etc/fail2ban/jail.conf

[DEFAULT]
ignoreip = 192.168.100.0/24 , 2a02:2020:2020::1, 
Run Code Online (Sandbox Code Playgroud)

有人知道如何在fail2ban中将IPv6地址列入白名单吗?

ipv6 whitelist fail2ban

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

TPROXY 的用途是什么,应该如何使用它以及内部发生了什么?

在阅读了一些有关 TPROXY 的内容(例如在https://www.kernel.org/doc/html/latest/networking/tproxy.html)后,我现在有更多的问题然后得到答案。我实际上什至不知道 TPROXY 应该做什么......

关于我应该做什么以及内部发生的事情的一些假设。
你能纠正以下假设吗?

据我了解,这些是您应该运行的命令(尽管我不知道为什么):

  • iptables -t mangle -N DIVERT:
    • 一条名为的链DIVERT已创建。
    • 您可以选择名称。(只要所有命令都相同)。
    • 它必须是其中的一部分,mangle因为您将要做的事情比重定向、阻止和 NAT 更重要。
  • iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT:
    • PREROUTING链确保一旦 TCP 数据包从网络设备传递到内核,首先发生的事情就是将其发送到链DIVERT
    • -p tcp确保非 TCP 流量不会出现这种情况。
    • -m socket确保创建和关闭连接的数据包不会出现这种情况(例如SYN/ACK
    • 删除-p tcp -m socketTPROXY 将影响所有 IP(v4) 数据包。这将是一个不同但有效的设置。
  • iptables -t mangle -A DIVERT -j MARK --set-mark 1:
    • 内核将用编号标记这些数据包1。您可以选择其他号码。
    • 还可以向数据包添加多个标记。例如:通过添加命令,iptables -t mangle …

firewall routing proxy iptables

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

警告:DocumentRoot 不存在...但它确实存在

我正在尝试在 Ubuntu 20.04 中使用 Apache 托管 3 个站点,但是当我尝试连接到它们时,我得到

未找到。在此服务器上找不到请求的 URL。

这是我的虚拟主机文件

<VirtualHost *:80>
        ServerName nico1.com
        Redirect permanent / https://nico1.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico1.com
        DocumentRoot /var/www/index1.html
        <Directory /var/www/index1.html>
                AllowOverride All
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/ssl/private/nico1.crt
        SSLCertificateKeyFile /etc/ssl/private/nico1.key
</VirtualHost>

<VirtualHost *:80>
        ServerName nico2.com
        Redirect permanent / https://nico2.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico2.com
        DocumentRoot /var/www/index2.html
        <Directory /var/www/>
                AllowOverride All
        </Directory>

        SSLEngine on
        SSLCertificateFile /etc/ssl/private/nico2.crt
        SSLCertificateKeyFile /etc/ssl/private/nico2.key
</VirtualHost>

<VirtualHost *:80>
        ServerName nico3.com
        Redirect permanent / https://nico3.com
</VirtualHost>

<VirtualHost *:443>
        ServerName nico3.com
        DocumentRoot /var/www/index3.html …
Run Code Online (Sandbox Code Playgroud)

apache2

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

Dig 返回错误的 DNS 记录,但仅在特定网络上。怎么了?

我试图通过 SSH 连接到我的服务器https://myrtlelime.com,但我注意到我不能(尽管能够在 Chrome 上访问它)。

在我的本地计算机上,运行它时得到以下输出:

$dig @ns3.he.net myrtlelime.com +short
18.204.152.241
Run Code Online (Sandbox Code Playgroud)

这是不正确的,在我的 DNS 记录中,我找不到提及此 IP 地址的内容。我从本地网络上的另一个 Linux 系统以及 Windows 和 Mac 中得到了相同的结果。

但是,如果我在我的任何服务器上运行 dig,我会得到:

$dig @ns3.he.net myrtlelime.com +short
18.204.152.241
Run Code Online (Sandbox Code Playgroud)

编辑:我认为这可能是因为我的 DNS 主机(Hurricane Electric - he.net)搞砸了,所以我将所有区域复制到 Cloudflare。奇怪的是,Cloudflare 现在也返回了同样的东西!但再次仅在我的本地网络上。

$ dig @ns3.he.net myrtlelime.com +short
47.90.8.107
Run Code Online (Sandbox Code Playgroud)

结束编辑

什么可能导致这个问题?我的 ISP 是否会在 DNS 记录到达之前以某种方式重写它们?

domain-name-system

0
推荐指数
1
解决办法
88
查看次数

为什么有些通配符证书的主题字段有星号而有些则没有?

我正在尝试解析 SSL 客户端的一些输出,以检查一组服务器是否具有有效的证书。我正在查看该命令的输出:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -subject -dates
Run Code Online (Sandbox Code Playgroud)

我注意到 Let's Encrypt 颁发的通配符证书仅在“主题”字段中列出“CN = example.com”,而其他 CA 颁发的通配符证书则使用“CN = *.example.com”

这是正常的吗?是否会有一些在“主题”字段中列为“CN = example.com”的证书,这些证书不是通配符,如果我尝试打开“subdomain.example.com”,这些证书会在浏览器中中断?

或者是否有更好的方法来验证命令行上的证书是否适用于正确的域?

谢谢。

ssl openssl

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

Git、WSL2、SSH:读取边带数据包时意外断开连接

在尝试使用 SSH 克隆远程 Git 存储库时,我收到以下错误:

git clone user@remote-repo:project.git .
remote: Counting objects: 187444, done.
remote: Compressing objects: 100% (73430/73430), done.
client_loop: send disconnect: Broken pipe.06 MiB | 4.04 MiB/s
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: index-pack failed
Run Code Online (Sandbox Code Playgroud)

我的环境具有以下规格:

  • WSL2(Windows 子系统 4 Linux)
  • git --version git version 2.30.1

git 包可以在这里找到https://pkgs.alpinelinux.org/package/edge/main/x86_64/git

uname -a
Linux 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 Linux

2021-03-09-07:11AM wsl@Alpine:~$ more /etc/issue
Welcome to Alpine Linux 3.10
Kernel \r …
Run Code Online (Sandbox Code Playgroud)

linux ssh git

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

如何使用nginx获取字符串的子字符串

假设我有一个从 cookie 中获取的值

$cookie_MY_COOKIE

其中包含 64 个字符。

如何删除 nginx 配置中的前 60 个字符?

nginx

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