我遵循了几个教程并将 Apache 配置为使用 PHP FPM。然而,我不明白该SetHandler线的哪一部分在做什么,并且根据我的一些实验似乎是多余的。我有一行:
SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
Run Code Online (Sandbox Code Playgroud)
|fcgi://localhost无论是否存在,这都有效。
在不同的地方,例如 Plesk 配置,我看到该部分fcgi://localhost被替换为fcgi://127.0.0.1:9000
的目的是什么|fcgi://localhost?它是多余的吗?可以删除吗?
分隔 sock 和 fcgi 的管道是否sock|fcgi被解释为“或”,意味着如果 unix 套接字不存在,则使用 tcp 连接?
在我的 FPM 池配置中,我尝试用主机和端口(也可以仅用端口)替换监听指令,但我似乎无法让它工作。如何将 PHP FPM 配置为通过 TCP 而不是 unix 套接字可用?我现在没有理由想做这个,只是为了学习。
最后。这是问这个问题的正确“堆栈”网站吗?
编辑说我从 Apache 找到了一小部分文档。示例部分中的最后一个示例讨论了|fcgi://something在强制反向代理请求的上下文中使用 ,但我真的不明白这一点。
我看到了一个 ACLs 命令,它是:
拒绝 ip 10.0.0.0 0.255.255.255 任何
我很困惑这个“ip”是指 ip 地址还是“TCP/IP”流量?此命令是否意味着它将丢弃任何不是源地址为 10.0.0.0 且通配符掩码为 0.255.255.255 的 ip 流量的数据包?
谢谢你。
在假期周末,我们的一位客户遭遇停电。当一切都恢复在线时,大多数设备似乎都正常,但少数设备(我们的 ESXi 主机之一和多个 VDI)无法获得正确的 IP 地址。他们从 Windows 获得了 169 APIPA。我查看了 DHCP 日志,从停电开始,有 0 次租用或续订。就像 DHCP 整个周末都处于空闲状态。
我退回了它,突然之间,所有的租约都开始涌入,所有获得 APIPA 的东西都得到了一个正常的地址,一切都恢复了正常。
我的问题是:DHCP 是否有某种设置导致它像这样运行?我觉得硬中断不应该破坏 DHCP,尤其是在重新启动时。
我想弄清楚发生了什么,这样如果再次发生中断,我们就不会遇到同样的问题。
日志时间轴:
11/25 11:15 PM,服务器断电后启动:
00,11/25/20,23:12:23,Started,,,,,0,6,,,,,,,,,0
64,11/25/20,23:12:23,No static IP address bound to DHCP server,,,,,0,6,,,,,,,,,0
Run Code Online (Sandbox Code Playgroud)
大约一个小时后,设备开始丢失地址:
24,11/26/20,00:00:19,Database Cleanup Begin,,,,,0,6,,,,,,,,,0
18,11/26/20,00:00:19,Expired,10.x.x.16,,,,0,6,,,,,,,,,0
18,11/26/20,00:00:19,Expired,10.x.x.18,,,,0,6,,,,,,,,,0
18,11/26/20,00:00:19,Expired,10.x.x.19,,,,0,6,,,,,,,,,0
etc...
Run Code Online (Sandbox Code Playgroud)
几个小时后,条目开始被删除
24,11/26/20,03:12:24,Database Cleanup Begin,,,,,0,6,,,,,,,,,0
16,11/26/20,03:12:24,Deleted,10.x.x.16,,,,0,6,,,,,,,,,0
16,11/26/20,03:12:24,Deleted,10.x.x.18,,,,0,6,,,,,,,,,0
16,11/26/20,03:12:24,Deleted,10.x.x.19,,,,0,6,,,,,,,,,0
etc...
Run Code Online (Sandbox Code Playgroud)
之后,在数据库清理之外没有任何活动:
24,11/26/20,21:12:29,Database Cleanup Begin,,,,,0,6,,,,,,,,,0
25,11/26/20,21:12:29,0 leases expired and 0 leases deleted,,,,,0,6,,,,,,,,,0
25,11/26/20,21:12:29,0 leases expired and 0 leases deleted,,,,,0,6,,,,,,,,,0
24,11/26/20,22:12:29,Database Cleanup Begin,,,,,0,6,,,,,,,,,0
etc... (until reboot)
Run Code Online (Sandbox Code Playgroud)
今天,当我重新启动时,一切都再次开始获取地址
01,11/30/20,05:17:21,Stopped,,,,,0,6,,,,,,,,,0
00,11/30/20,05:17:26,Started,,,,,0,6,,,,,,,,,0
55,11/30/20,05:17:26,Authorized(servicing),,<redacted>.net,,,0,6,,,,,,,,,0 …Run Code Online (Sandbox Code Playgroud) 在我目前工作的环境中,有几台服务器专用于各个部门。然而,我们最近可能接触到了几台相同的服务器,大约有 10 多个。我希望有人可以为我指明正确的方向,找到有效利用所有这些服务器的好方法。
本质上,我们将大文件存储在要下载的服务器上,并且不那么频繁地上传到服务器。
我的目标是创建一个很好的选择,使数据可以在一个(或几个)中心位置访问,我可以将脚本指向该位置并且用户可以轻松访问。
理想情况下,我想做的是将所有这些服务器链接为一个或几个虚拟机或一个网络文件共享,这些服务器具有大量带宽和冗余,以确保文件安全并允许数据尽快抄下来。
为了完成这些任务,我一直在研究一些事情:
-DFS
- 故障转移集群
-Starwind Virtual SAN(免费版)
需要注意的是,这些服务器已经很老了,大约是 9 年前。
任何关于配置的建议将不胜感激,我有点超出我的深度
我有两台装有 Ubuntu Server 20.04 的虚拟机。这些虚拟机之一是 DHCPv6 服务器,另一个是客户端。我可以在客户端上设置 IPv6 地址,但我无法与该地址进行 ping 操作。ip -6 route显示此地址,但前缀长度为 128。我希望前缀长度等于 64,与服务器 IP 地址相同。当我将从服务器获得的客户端 IP 地址添加到我的路由表中,但前缀长度等于 64 时,我可以在我的虚拟机之间进行 ping 操作。
这是我/etc/dhcp/dhcpd6.conf在服务器上的文件:
default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";
option dhcp6.info-refresh-time 21600;
authoritative:
subnet6 fdaa:a:a:a::/64 {
range6 fdaa:a:a:a::100 fdaa:a:a:a::199;
}
Run Code Online (Sandbox Code Playgroud)
最后三行是我加的。
这是我/etc/netplan/00-installer-config.yaml在客户端上的文件:
network:
ethernets:
ens3:
dhcp4: false
dhcp6: true
version: 2
Run Code Online (Sandbox Code Playgroud)
预先感谢您的任何帮助。
我已经耗尽了耐心寻找如何将 SSL 证书添加到我的 Windows 10 Pro 计算机,以便当我从其他位置连接时,不会出现证书错误。
到目前为止,我遇到的每一个指南最终都适用于 Windows Server。
我尝试过的:
我单击“开始”菜单,然后键入certlm.msc并按 Enter 键。
我将购买的证书放在主机的Personal > Certificates文件夹 ANDRemote Desktop > Certificate Service文件夹中。
当我尝试从另一台计算机重新连接时,我仍然收到证书信任错误。
有人可以帮忙吗?
再次强调,我尝试在 Windows 10 Pro 计算机上完成此操作,而不是 Windows Server。
我正在尝试使用 postfix 作为 gmail 中继
smtp参数是
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls=yes
smtp_tls_CAfile = /etc/ssl/ca-certificates.crt
smtp_tls_key_file=/etc/letsencrypt/live/MYDOMAIN.com/privkey.pem
smtp_tls_cert_file=/etc/letsencrypt/live/MYDOMAIN.com/cert.pem
smtp_tls_security_level=encrypt</id_string></id_string>
Run Code Online (Sandbox Code Playgroud)
该消息显示为已正确发送,但实际上没有发送任何邮件,并且在邮件日志中,该问题似乎是由 TSL 错误引起的
cannot load Certification Authority data, CAfile="/etc/ssl/ca-certificates.crt": disabling TLS support
warning: TLS library problem: error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('/etc/ssl/ca-certificates.crt','r'):
warning: TLS library problem: error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
warning: TLS library problem: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:../crypto/x509/by_file.c:199:
connect to smtp.gmail.com:25: Network is unreachable
Run Code Online (Sandbox Code Playgroud)
该文件ca-certificates.crt存在于路径中/etc/ssl/并且已经存在于 Debian 发行版中
另一个奇怪的事情是,如果main.cf我尝试改变线路
smtp_tls_CAfile = /etc/ssl/ca-certificates.crt
Run Code Online (Sandbox Code Playgroud)
使用其他一些证书,错误 …
我目前有一个 ec2 "t2.nano" 实例正在运行。我想切换到“t2.micro”。为了做到这一点,我需要停止实例。但是我会在这个过程中丢失我的 IPv4 地址。而且我不希望那样(因为我有几个 ssh 隧道从野外的 rasps 启动并运行,这些隧道目前已硬编码以连接到这个 IPv4 地址)。
我决定创建一个弹性 IP 地址。但我明白,通过创建弹性 IP 地址并将其分配给我当前的 ec2 实例,我也会丢失我当前的 IPv4 地址。
是否可以从我的 ec2 实例的当前 IPv4 地址创建弹性 IP 地址?如果是这样,我该如何进行此操作?
我的 ubuntu 实例 (Ubuntu 20.04.1 LTS) 和 apache2 (Apache/2.4.41 (Ubuntu)) 遇到问题。一台虚拟主机正在从已安装的 cifs 共享中提供一些 html 文件和文档。cifs 共享工作正常,文件系统上的文件正确。
然而,apache 无法为以二进制形式提供的每种文件类型(如图像、word 文档、pdf 等)生成正确的响应。例如,当我下载图像时,image.gif文件会被下载并保存到客户端。当在客户端上使用文本编辑器打开文件时,它看起来如下:
grade, Keep-Alive
Last-Modified: Thu, 12 Nov 2020 10:01:47 GMT
ETag: "b6b-5b3e600040144"
Accept-Ranges: bytes
Content-Length: 2923
Keep-Alive: timeout=5, max=100
Content-Type: image/gif
GIF89av[binary-string starting...]
Run Code Online (Sandbox Code Playgroud)
因此,部分响应标头现在位于下载的文件中,这种情况永远不应该发生。我期待下载的文件以GIF89av等等开头。提供基于文本的文件(如 html)不是问题并且可以按预期工作。但是,当我将同一文件复制到同一服务器上另一个虚拟主机的文档根目录(该服务器不使用已安装的 cifs 共享)时,该文件将正确提供(其中没有响应标头)。所以我认为,安装的 cifs-share 和 apache2 的组合存在一些问题,从而导致了该错误。
我已经尝试了有关共享挂载的各种选项 - 但我认为这是正确的,因为这些文件直接在没有 apache 的文件系统上工作。
共享挂载/etc/fstab如下
//192.168.0.1/share$ /mnt/share cifs username=user,password=pass,dom=contoso.local 0 0
Run Code Online (Sandbox Code Playgroud)
这几乎是最基本的方法。我经历过类似的选项iocharset=utf8,尝试了不同的版本(vers=1.0或vers=3.1),但这并没有改变任何东西。apache 配置也是基本配置,随 ubunutu 20 一起提供,没有任何特殊添加或更改。我对 mime …
我最近租了一台运行 CentOS 8 的 VPS。我想从我的一个存储库进行连续部署,这样当我推送到 main 时,存储库就会更新。我在全新的 CentOS 安装上按照本教程进行操作,执行以下操作(这是我的 .yml):
name: Deploy
on: [push]
jobs:
deploy:
if: github.ref == 'refs/heads/main'
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v1
- name: Copy repository contents via scp
uses: appleboy/scp-action@master
env:
HOST: ${{ secrets.HOST }}
USERNAME: ${{ secrets.USERNAME }}
PORT: ${{ secrets.PORT }}
KEY: ${{ secrets.SSH_KEY }}
with:
source: "."
target: "/var/www/deploy"
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
通过 scp 复制存储库内容
... 2020/12/02 18:05:57 错误将文件复制到目标:***,错误消息:ssh:握手失败:ssh:无法身份验证,尝试的方法[无公钥],没有支持的方法仍然无人机- scp 错误:将文件复制到目标时出错:***,错误消息:ssh:握手失败:ssh:无法进行身份验证,已尝试方法 [无公钥],没有保留支持的方法
我已经尝试过ssh-add <private_key>,但是我得到了同样的错误。
amazon-ec2 ×1
apache-2.4 ×1
apache2 ×1
arm ×1
centos ×1
cifs ×1
cluster ×1
debian ×1
dhcp-server ×1
dhcpv6 ×1
file-sharing ×1
ipv4 ×1
ipv6 ×1
linux ×1
outage ×1
php-fpm ×1
postfix ×1
qemu ×1
security ×1
ssh ×1
ssl ×1
ubuntu ×1
windows-10 ×1