像这样在相同的情况下定义两者listen(80和 443)是否正确?server {}
另一种方法是server{}为每个端口定义两个单独的端口,我知道这是可以的。
server {
listen 80 default_server;
server_name example.com;
root /usr/share/nginx/html;
location / {
}
listen example.com:443 ssl; # <<< !!!
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Run Code Online (Sandbox Code Playgroud) 我们正在为 jenkins master 运行一个 docker 容器,它每 3 天就会以“exitcode 137”退出。我们必须重新启动 EC2 并启动映像才能使其再次运行。仅仅重新启动容器是行不通的。
退出容器上的 docker 检查为我们提供了以下信息: "State": { "Status": "exited", "Running": false, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead":假,“Pid”:0,“退出代码”:137,“错误”:“”,“开始时间”:“2019-09-05T11:00:29.683406065Z”,“完成时间”:“2019-09-05T13:24 :26.336749715Z”
EC2 是一个 m5a.large 实例,具有 8GB 内存,正在运行的容器上的 docker stats 给了我这样的信息: CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 88530703bf01 xenodochial_chandrasekhar 0.58% 1.092GiB / 7.546 GiB 14.47% 3.12MB / 6.67MB 368MB / 11.3MB 0
内存使用量显示为 1.092GiB / 7.546GiB,这意味着内存上限是主机内存 8GB,并且 oomkilled 为 false。
docker log 命令不显示太多信息。
还有其他人遇到过这个问题吗?我们如何知道容器退出的原因呢?
我的公司使用 AWS 进行计算、存储、数据库等。但是,他们使用根密钥来访问所有内容,出于安全目的,我正试图摆脱它。任何泄漏都可能导致灾难性的数据泄漏,或导致 AWS 的账单大幅下降。我想通过许可密钥(我知道如何做到这一点)并让密钥在 x 周后自动过期来尽可能地防止这种情况发生。
我做了一些探索,还没有找到完美的东西。我发现的最接近的是以下内容。(我们使用Azure给用户授权AWS)是一个工具,允许aws cli通过azure授权访问aws:https : //github.com/dtjohnson/aws-azure-login
以上为我们提供了通过 cli 访问 AWS 某些部分的日常授权。然而,这并不完全是我们想要的。为方便起见,管理层更喜欢更长的到期时间,我们需要实际的密钥才能使用 Cyberduck 之类的工具并在 AWS 中启动实例等。
是否可以按用户创建每 X 周到期并需要新的密钥请求的密钥?
我们有一台 HP Proliant DL380 G9 服务器。我们有一个单独的数据驱动器,它由 4 个 1TB 7.2k 6Gb 热插拔 SAS 驱动器 RAID 5'd 组成,以提供 3GB 逻辑驱动器。我们注意到服务器的性能很慢,在运行各种测试后,我注意到 SQL 数据库上的磁盘 IO 不是很好。我想尝试加快速度。
任何人都可以回答这些问题: -
(1) 因为我不想从头开始重建服务器,我可以只得到 4 个与上面相同的驱动器,但 12Gb(速度加倍)驱动器并排运行。我的计划是从阵列中移除一个驱动器,用更快的驱动器替换它,让它重建,然后交换下一个驱动器,然后交换下一个驱动器,依此类推,直到它们都被更快的驱动器替换?
(2) 与上述情况相同,但将驱动器更换为 SSD 驱动器,一次一个。SSD 和 SAS 驱动器可以共存于同一个阵列中吗?和,
(3) 我注意到有 15k 主轴速度驱动器,这将进一步提高速度,但是我无法获得 1TB 一个只有 1.2TB。我可以将一个稍大的驱动器放入 RAID 5 阵列中并且它可以正常构建,还是必须与其他驱动器具有相同的大小?
希望这一切都有意义。感激地收到任何帮助。
非常感谢。
DGC。
我想为 php-fpm 配置不同的速率限制。
我想要:
/ admin /.+有不同的限制。我对实现点 3 有问题。现在我测试:
limit_req_zone $binary_remote_addr zone=php:10m rate=2r/s;
limit_req_zone $binary_remote_addr zone=admin:10m rate=9r/s;
server {
location / {
try_files $uri $uri/ /index.php?$args;
}
limit_req_status 429;
# limitng works, server return 404
location ~ /admin/ {limit_req zone=admin...}
location ~ [^/]\.php(/|$) {
limit_req zone=php burst=9 delay=4;
#limit_req not allowed here
if($request_uri ~ /admin) {limit_req zone=admin...}
#not update limits (lower)
location ~ ^/admin/ {limit_req zone=admin...}
#negative matching returns index.php content
location location …Run Code Online (Sandbox Code Playgroud) (如果我问错了问题或问错了地方,我深表歉意。)
我们为我们的协会(所有志愿者)运行 IT。我们有一个带有 OpenLDAP 成员数据库的服务器、邮件服务器、ftp 和一堆自制的网络应用程序。
除了 OpenLDAP 成员数据库之外,大部分都很好。设置它的人早已不在,当前的 IT 团队并没有真正做出改变的能力。
因此,我正在考虑将成员数据库从 OpenLDAP 移至 MySQL 数据库。这似乎是可能的,我们的电子邮件和 FTP 服务器支持 SQL 源,我们可以相应地修改我们的 web 应用程序。但是我仍然无法确定这样做是否有缺点。因此我的问题:
我在这里找不到类似的问题。我从外部找到的信息将我带到 10 多年前的页面。
在 RHEL/Fedora 上的早期版本中,network可以通过 init 脚本和(稍后)通过systemctl. 更新 DNS 设置后,我想重新启动网络服务以反弹接口并获取新的 DNS 设置(并强制 NetworkManager 重写/etc/resolve.conf)。
使用systemctl,我得到:
# systemctl restart network
Failed to restart network.service: Unit network.service not found.
Run Code Online (Sandbox Code Playgroud)
在哪儿network服务去,我如何重启接口以皮卡的变化?
当我尝试访问元数据服务器时出现Could not resolve host metadata.google.internal错误。Could not resolve host metadata
虽然我使用自己的 VPC 和自定义防火墙,但我不认为这是防火墙的问题,因为根据 Google 元数据服务器流量永远不会离开实例。此外,我的主机文件中有一个条目证明了这一点:
# Google Compute Engine metadata server
169.254.169.254 metadata.google.internal metadata
我尝试 ping 169.254.169.254,但它返回General Failure(但是,它证明什么都没有......我不确定元数据服务器是否允许 ICMP)。
我的 Stackdriver Logging Agent 也因此失败。这是其日志中的一行:
Failed to access metadata service: error_class=Errno::ENETUNREACH error="Failed to open TCP connection to 169.254.169.254:80 (A socket operation was attempted to an unreachable network. - connect(2) for \"169.254.169.254\" port 80)"
如果重要的话,我的 VPC 网络中的内部流量仅限于icmp和tcp:22(ssh)。
发生了什么以及如何解决这个问题?
我m5d.xlarge使用shutdown -r.
重新启动后,中定义的各种驱动器安装/etc/fstab与最初分配给它们的设备分配不一致。
这导致各种服务失败,这些服务依赖于具有指定名称的驱动器安装,其中包含与该名称关联的特定数据。
在这种情况下,/data需要包含的内容通常预计将在/data,而不是其他的驱动安装,比如/foo或/bar或/whatever-else。
运行lsblk有助于手动重新定义/etc/fstab文件以反映新的设备分配并使服务重新联机。
问题:我担心重启会随机将设备标签重新分配给驱动器安装,当服务器需要重启时,这个问题可能会或将再次发生。
问题:如何确保在重新启动之间保留驱动器安装及其各自的设备路径,而无需手动(重新)干预?
编辑:c5_m5_checks_script.sh下面提供的答案中引用的脚本返回以下信息:
# ./c5_m5_checks_script.sh
------------------------------------------------
OK NVMe Module is installed and available on your instance
ERROR NVMe Module is not loaded in the initramfs image.
- Please run the following command on your instance to recreate initramfs:
# sudo update-initramfs -c -k all
OK ENA Module with version …Run Code Online (Sandbox Code Playgroud) 如何指定地址范围?每次我尝试这样做时都会遇到一个神秘的错误。
根据 whois,我的 ISP 地址范围是 98.0.0.0 - 98.15.255.255。给出的错误是:“源需要是 CIDR 块或安全组 ID。”
他们的示例采用以下形式:203.0.113.0/24,但我承认我并不完全理解这一点,除非它简单地意味着允许最后一个八位字节的前 24 个值。如果是这样,那么我将需要提供数百或数千条此类规则。
amazon-ec2 ×2
nginx ×2
database ×1
docker ×1
dynamic ×1
fedora ×1
fstab ×1
hard-drive ×1
httpd.conf ×1
https ×1
keys ×1
ldap ×1
performance ×1
raid ×1
rewrite ×1
sata ×1
security ×1
sql ×1
ssd ×1
ssl ×1
ubuntu-16.04 ×1
web-server ×1