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-306795

Tim's questions

Martin Hope
Tim
Asked: 2020-04-08 14:01:52 +0800 CST

如何使用 CloudFormation YAML 对 AWS RDS Oracle 实施传输中的加密?

  • 0

在使用 CloudFormation YAML 设置 RDS 数据库时,如何为 AWS RDS Oracle 实例启用和强制执行/强制传输中的加密。

oracle amazon-web-services amazon-rds
  • 1 个回答
  • 420 Views
Martin Hope
Tim
Asked: 2019-12-19 11:53:42 +0800 CST

Amazon Linux - yum 更新失败并出现 HTTP 错误 403 - 禁止

  • 2

我在 us-west-2(俄勒冈州)有一个 Amazon Linux v1 实例,但 yum 更新失败,如下所示。这是一个运行良好几年的旧实例,几个月前更新为 t3a.nano。它在 VPC 中有一个 S3 网关。

我在同一区域创建了一个 m3.large 实例,并且更新没有问题。

任何想法如何解决这个问题?我没有 AWS 支持,所以我不能问他们,但如果它仍然存在,我会再次尝试在一个支持的帐户中重现。

sudo yum update  amazon-ssm-agent
Loaded plugins: update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package amazon-ssm-agent.x86_64 0:2.3.662.0-1.amzn1 will be updated
---> Package amazon-ssm-agent.x86_64 0:2.3.714.0-1.amzn1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================
 Package                      Arch               Version                        Repository                Size
===============================================================================================================
Updating:
 amazon-ssm-agent             x86_64             2.3.714.0-1.amzn1              amzn-updates              25 M

Transaction Summary
===============================================================================================================
Upgrade  1 Package

Total download size: 25 M
Is this ok [y/d/N]: y
Downloading packages:
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.us-east-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
To address this issue please refer to the below knowledge base article

https://access.redhat.com/solutions/69319

If above article doesn't help to resolve this issue please open a ticket with Red Hat Support.

amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.ap-northeast-2.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.ap-east-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.eu-central-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.sa-east-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.ap-southeast-2.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.us-west-2.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.us-west-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.ap-southeast-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.ap-northeast-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.
amazon-ssm-agent-2.3.714.0-1.a FAILED
http://packages.eu-west-1.amazonaws.com/2018.03/updates/5444ecdf4764/x86_64/Packages/amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64.rpm?instance_id=i-863eaf5c&region=us-west-2: [Errno 14] HTTP Error 403 - Forbidden
Trying other mirror.


Error downloading packages:
  amazon-ssm-agent-2.3.714.0-1.amzn1.x86_64: [Errno 256] No more mirrors to try.

更新

根据大卫关于“yum clean all”的建议,我登录并尝试了它。在我这样做之后,yum no 说没有可用的更新 - 尽管 Amazon Linux 告诉我当我通过 SSH 登录时有三个可用的更新。

笔记:

  • 当前 amazon-ssm-agent 是 2.3.662.0
  • 之前 yum 表示会从 0:2.3.662.0 更新到 0:2.3.714.0-1

这是 SSH 会话

Last login: Thu Dec 19 09:28:01 2019 from (IP address removed)
3 package(s) needed for security, out of 8 available <-- ***
Run "sudo yum update" to apply all updates.
sudo yum clean all
Loaded plugins: update-motd, upgrade-helper
Cleaning repos: amzn-main amzn-updates epel-debuginfo epel-source
Cleaning up everything


sudo yum update -y
Loaded plugins: update-motd, upgrade-helper
amzn-main                                                | 2.1 kB     00:00
amzn-updates                                             | 2.5 kB     00:00
epel-debuginfo/x86_64/metalink                           |  17 kB     00:00
epel-debuginfo                                           | 3.0 kB     00:00
epel-source/x86_64/metalink                              |  17 kB     00:00
epel-source                                              | 4.1 kB     00:00
(1/8): amzn-main/latest/group_gz                           | 4.4 kB   00:00
(2/8): amzn-updates/latest/group_gz                        | 4.4 kB   00:00
(3/8): epel-source/x86_64/updateinfo                       | 792 kB   00:00
(4/8): amzn-updates/latest/updateinfo                      | 615 kB   00:00
(5/8): epel-source/x86_64/primary_db                       | 1.9 MB   00:00
(6/8): epel-debuginfo/x86_64/primary_db                    | 831 kB   00:00
(7/8): amzn-main/latest/primary_db                         | 4.0 MB   00:01
(8/8): amzn-updates/latest/primary_db                      | 2.5 MB   00:01
No packages marked for update
amazon-web-services
  • 1 个回答
  • 2468 Views
Martin Hope
Tim
Asked: 2019-04-18 19:18:30 +0800 CST

使用 SCP(服务控制策略)在 AWS 组织内实施 EBS 加密

  • 0

是否可以强制 AWS 组织内的所有账户只能创建加密的 EBS 卷?

我知道您可以使用IAM 角色来执行它,但我想知道它是否可以使用 SCP 来完成。

到目前为止,这是我想出的,但它不起作用。我已将此附加到我组织内的一个帐户,但我可以创建加密和未加密的卷。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "ec2:CreateVolume",
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "ec2:Encrypted": "false"
                }
            }
        }
    ]
}
amazon-web-services
  • 1 个回答
  • 4100 Views
Martin Hope
Tim
Asked: 2017-10-05 16:30:46 +0800 CST

使用 CloudFormation 以现有 EBS 卷作为根设备创建新的 EC2 实例

  • 3

我正在尝试使用 CloudFormation 将现有卷安装到新的 EC2 Windows 实例。这似乎应该是可能的。

大图

我有一个供应商提供的 AMI,它安装了一些预配置的软件。我们想要创建一个实例,并且我们会偶尔更改 EC2 实例大小以进行性能测试。我们不想丢失我们将从 AMI 创建的单个 EBS 磁盘上的数据。

由于我们使用的是 CloudFormation,如果我们简单地更改 AWS::EC2::Instance.InstanceType 属性并上传修改后的堆栈 CloudFormation 将从 AMI 中获得一个新实例和卷。这没有帮助,因为我们会丢失从现有磁盘上传的数据。

体积法

我首先尝试了这个脚本。

WindowsVolume:
  Type: AWS::EC2::Volume
  Properties:
    AutoEnableIO: true
    AvailabilityZone: "ap-southeast-2b"
    Encrypted: true
    Size: 30
    SnapshotId: snap-0008f111111111
    Tags:
      - Key: Name
        Value:
          Ref: AWS::StackName
    VolumeType: gp2

EC2Instance:
  Type: AWS::EC2::Instance
  InstanceType: t2.micro
  ImageId: ami-663bdc04 # Windows Server stock image
  KeyName: removed
  IamInstanceProfile: removed
  InstanceInitiatedShutdownBehavior: stop
  SecurityGroupIds:
    Fn::Split: [",", "Fn::ImportValue": StackName-ServerSecurityGroup]
  SubnetId:
    !ImportValue StackName-Subnet1
  Volumes:
    - Device: "/dev/sda1"
      VolumeId:
        Ref: WindowsVolume

我收到错误消息

unixDevice 的值“/dev/sda1”无效。连接点 /dev/sda1 已在使用中

BlockDeviceMappings 方法

接下来我尝试使用 BlockDeviceMappings

BlockDeviceMappings:
  - DeviceName: "/dev/sda1"
    Ebs:
      Ref: WindowsVolume

这次的错误信息是

属性 Ebs 的值必须是一个对象

卷附方法

我也尝试过使用 VolumeAttachment 而不是 Volumes 属性或 BlockDeviceMapping。

VolAttach:
  Type: AWS::EC2::VolumeAttachment
  Properties:
    Device: "/dev/sda1"
    InstanceId: !Ref EC2Instance
    VolumeId: !Ref WindowsVolume

这给了我与上面相同的信息

unixDevice 的值“/dev/sda1”无效。连接点 /dev/sda1 已在使用中

关键问题

有没有人成功地将现有的根卷或快照挂载到新的 EC2 实例?如果可能的话,正确的方法是什么?

替代方法

很高兴听到其他方法。例如,我考虑过的选项是:

  • 使用 CloudFormation 创建 VPC 和相关资源,然后使用控制台手动创建实例。
  • 使用 CloudFormation 创建 VPC、相关资源和 EC2 实例。从那时起停止使用 CloudFormation,只需使用 Web 控制台更改实例大小。
amazon-web-services
  • 1 个回答
  • 4826 Views
Martin Hope
Tim
Asked: 2017-08-09 18:54:17 +0800 CST

如何根据基于时间的计划启动和停止 AWS EC2 实例

  • 20

是否有一种简单的方法可以在每天的给定时间启动和停止 AWS EC2 实例?这可以为我的开发和测试服务器节省很多钱。

amazon-ec2
  • 3 个回答
  • 42959 Views
Martin Hope
Tim
Asked: 2017-07-08 15:07:23 +0800 CST

如何在 Amazon Linux 上运行 fail2ban - 没有名为 fail2ban.version 的模块

  • 2

我在 Amazon Linux 上使用此命令安装了 fail2ban

yum install fail2ban

我的 epel 存储库定义为

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

尝试启动服务时出现此错误

service fail2ban start
Starting fail2ban: Traceback (most recent call last):
  File "/usr/bin/fail2ban-client", line 37, in <module>
    from fail2ban.version import version
ImportError: No module named fail2ban.version

我已经在这个错误报告中使用这个 diff尝试了这个修复,它没有合并到我拥有的脚本中。它没有任何区别。我试过也试过这个,但我不知道它是如何工作的,如果你打算运行任何东西等等。

谁能建议如何让 fail2ban 在 Amazon Linux 上运行?

注意以下是使用 fail2ban 安装的内容

亚马逊 Linux fail2ban 安装

amazon-web-services
  • 1 个回答
  • 1729 Views
Martin Hope
Tim
Asked: 2017-03-12 11:09:28 +0800 CST

AWStats 日志解析 - 自定义 Nginx 日志格式

  • 0

我已安装 AWStats 7.0(Amazon Linux 存储库中的最新版本)以尝试获取有关带宽使用情况的更多信息。我无法让 AWSStats 解析我的日志 - 我怀疑这是因为我无法正确获取 LogFormat。

我尝试了很多变化,但我无法让它工作。

这是我的 Nginx 日志格式

log_format  main  '$remote_addr - $remote_user [$time_local] "$host" "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for" "$request_time" '
                  '"$upstream_cache_status" "$sent_http_content_encoding" ';

这是一个日志条目

1.1.1.1 - - [12/Mar/2017:07:23:53 +1300] "www.example.com" "GET /url/ HTTP/1.1" 200 7455 "https://www.google.ru/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" "46.71.136.54" "0.000" "HIT" "gzip"

这是我的 AStats 配置文件。此处没有的任何内容都是标准的,并且从主配置文件继承

# Path to you nginx vhost log file
LogFile="/var/log/nginx/pts.access.log"

# Domain of your vhost
SiteDomain="example.com"

# Directory where to store the awstats data
DirData="/var/lib/awstats/pts/"

# Other alias, basically other domain/subdomain that's the same as the domain above
HostAliases="www.example.com"

LogFormat = "%host %logname %time1 %virtualname %methodurl %code %bytesd %refererquot %uaquot %otherquot %otherquot %otherquot %otherquot"

这是awstats的输出

[root]# /usr/share/awstats/tools/awstats_updateall.pl now -awstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
Running '"/usr/share/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=example.com -configdir="/etc/awstats"' to update config example.com
Create/Update database for config "/etc/awstats/awstats.example.com.conf" by AWStats version 7.0 (build 1.971)
From data in log file "/var/log/nginx/pts.access.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Jumped lines in file: 0
Parsed lines in file: 323
 Found 323 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 0 corrupted records,
 Found 0 old records,
 Found 0 new qualified records.

任何人都可以发现不正确的地方吗?我找不到任何可以提供更多信息的附加信息或 awstats 日志。

nginx awstats
  • 2 个回答
  • 3112 Views
Martin Hope
Tim
Asked: 2017-02-08 11:10:20 +0800 CST

如何通过部分完成的 glibc yum 更新来解决依赖问题

  • 2

今天早上我尝试更新我的生产 Web 服务器(运行 Amazon Linux 的 t2)但它失败了,因为我的 RAM 用完了(php-fpm 拥有一切)。我停止了 php-fpm 以释放一些 RAM,但 yum 更新无法完成。服务器运行正常,但我想解决这个问题。

# yum update
Resolving Dependencies
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.17-106.168.amzn1 will be updated
--> Processing Dependency: glibc-headers = 2.17-106.168.amzn1 for package: glibc-devel-2.17-106.168.amzn1.x86_64
---> Package glibc-headers.x86_64 0:2.17-157.169.amzn1 will be an update
--> Finished Dependency Resolution
Error: Package: glibc-devel-2.17-106.168.amzn1.x86_64 (@amzn-main)
       Requires: glibc-headers = 2.17-106.168.amzn1
       Removing: glibc-headers-2.17-106.168.amzn1.x86_64 (@amzn-main)
           glibc-headers = 2.17-106.168.amzn1
       Updated By: glibc-headers-2.17-157.169.amzn1.x86_64 (amzn-updates)
           glibc-headers = 2.17-157.169.amzn1
You could try using --skip-broken to work around the problem
** Found 6 pre-existing rpmdb problem(s), 'yum check' output follows:
glibc-devel-2.17-106.168.amzn1.x86_64 has missing requires of glibc(x86-64) = ('0', '2.17', '106.168.amzn1')
glibc-devel-2.17-157.169.amzn1.x86_64 is a duplicate with glibc-devel-2.17-106.168.amzn1.x86_64
glibc-devel-2.17-157.169.amzn1.x86_64 has missing requires of glibc-headers = ('0', '2.17', '157.169.amzn1')
glibc-headers-2.17-106.168.amzn1.x86_64 has missing requires of glibc(x86-64) = ('0', '2.17', '106.168.amzn1')
subversion-1.9.4-2.55.amzn1.x86_64 has missing requires of subversion-libs(x86-64) = ('0', '1.9.4', '2.55.amzn1')
subversion-1.9.5-1.56.amzn1.x86_64 is a duplicate with subversion-1.9.4-2.55.amzn1.x86_64

这是已安装的 glibc 软件包

# rpm -qa | grep glibc
glibc-devel-2.17-157.169.amzn1.x86_64
glibc-devel-2.17-106.168.amzn1.x86_64
glibc-common-2.17-157.169.amzn1.x86_64
glibc-headers-2.17-106.168.amzn1.x86_64
glibc-2.17-157.169.amzn1.x86_64

一个问题似乎是安装了两个不同版本的 glibc-devel。看起来 glibc 的某些部分在版本 106 上,而其他部分在版本 157 上。

我重新启动了服务器,正如预期的那样没有任何区别,但值得一试。我跑了以下,没有效果

yum-complete-transaction
yum-complete-transaction --cleanup-only
yum clean all

过去我也遇到过类似的问题,但使用的软件包不太重要。我只是将它们全部删除,然后再次安装它们。我不相信这对 glibc 是可能的,因为很多事情都依赖于它。

我查看了 Centos 论坛,一个选项似乎是降级一些软件包以降级一些软件包,但我不知道是否有更好的选择。由于这是我的生产服务器,因此在尝试此操作之前,我将不胜感激。如果这是一个好方法,我应该降级哪些软件包?降级后我该怎么办,定期 yum 更新?

请注意,我有定期备份,如果需要,可以从最近的备份中恢复,但我不希望这样做,因为我必须重做一些有点棘手的 SSL 证书工作。我计划将来迁移到 Ubuntu 并使用 CloudFormation 构建服务器,因此如果服务器出现故障,我可以简单地创建另一个,但这是未来的任务。

linux centos yum amazon-linux
  • 2 个回答
  • 10735 Views
Martin Hope
Tim
Asked: 2016-04-15 17:24:02 +0800 CST

OCSP 装订是否会提高 CloudFlare 背后网站的性能?

  • 1

如果使用 CloudFlare 上的“ Full SSL ”设置,尝试提高使用 CloudFlare CDN(或任何 CDN)的网站是否应该在他们的Nginx实例上配置OCSP 装订?

在此设置中,当浏览器从受 CloudFlare 保护/缓存的站点请求页面时,它们使用 TLS 连接到 CloudFlare,然后使用 TLS 连接到源 Web 服务器以检索新生成的页面。这意味着完成了两组 SSL 协商,增加了检索页面所需的时间。顺便说一句,HTTP/2 意味着每个网站通常只进行一次连接,而不管要下载的资源数量如何。

如果 CloudFlare 检查源 Web 服务器证书的 CRL,我想 OCSP 装订可以减少所需的检查,从而减少 SSL 设置时间。但是,我不是这方面的专家,所以我很感激对此的想法。

CloudFlare 提供的一些关于它是否有用的信息(这表明它对性能没有帮助)

谢谢你的问题。目前,我们不对 origin 提供的证书进行吊销检查。但是,我们可能会在某个时候建议装订 OCSP,如果使用的是公开信任的证书(并且难度不大)。

ssl nginx cloudflare
  • 1 个回答
  • 701 Views
Martin Hope
Tim
Asked: 2016-02-14 00:59:31 +0800 CST

无法删除 AWS 快照 - 指的是不存在的实例 ID

  • 4

我在 AWS Oregon 有一个无法删除的快照。当我尝试时它说

Snapshot is in use by AMI ami-d2d83cxx

我检查了每个地区,我没有具有该 ID 的实例。我以前在悉尼地区跑步,现在我在俄勒冈州跑步。我只有一个实例在任何地方运行,外加一个 RDS 实例。

快照的描述是

Copied for DestinationAmi ami-d2d83xx from SourceAmi ami-55cfbbxx
for SourceSnapshot snap-3bf220xx. Task created on 1,453,573,325,838.

当我单击卷链接时,它会转到卷页面,但没有具有该 ID 的卷。

我最好的猜测是 AWS 控制台已经弄糊涂了。我确实为性能测试创建了奇怪的 AMI,但这些 AMI 是私有的,我只使用了很短的时间。我还把东西从悉尼搬到了俄勒冈州。

如何删除此快照?会花我钱的。钱不多,但也不少。

amazon-ec2
  • 2 个回答
  • 5103 Views
Martin Hope
Tim
Asked: 2016-01-16 00:39:57 +0800 CST

Nginx:替代 if inside location 块,用于基于变量缓存标头

  • 2

我正在尝试使用 Nginx 页面缓存而不是 Wordpress 缓存。缓存似乎工作正常,但我无法根据变量设置条件缓存标头 - 用户是否登录到 wordpress。如果用户已登录,我希望应用无缓存标头,否则 Wordpress 和 CDN 都可以将页面缓存一天。我发现我只能在 if 语句中添加一个标题。

我已经阅读(但没有完全理解,因为这里已经很晚了)[如果是邪恶的][1]。我还找到了关于堆栈交换的答案(在我的笔记本电脑上,现在找不到),在 if 块中只有一个 add_header 有效。

谁能给我一个可能更好的替代方案的想法?我知道我可以将过期与缓存控制结合起来,但我想要更多的标题,而且我想理解和学习。

这是一个显着简化的配置,其中包含相关部分。

server {
  server_name example.com;

  set $skip_cache 0;
  # POST requests and urls with a query string should always go to PHP
  if ($request_method = POST) {
    set $skip_cache 1;
  }
  if ($query_string != "") {
    set $skip_cache 1;
  }
  # Don't cache uris containing the following segments.
  if ($request_uri ~* "/wp-admin/|/admin-*|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
    set $skip_cache 1;
  }
  # Don't use the cache for logged in users or recent commenters
  if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    set $skip_cache 1;
  }

  location / {
    try_files $uri $uri/ /blog/index.php?args;
  }

  location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_intercept_errors on;
    fastcgi_pass  php;
    include  fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    # Cache Stuff
    fastcgi_cache CACHE_NAME;
    fastcgi_cache_valid 200 1440m;
    add_header X-Cache $upstream_cache_status;

    fastcgi_cache_methods GET HEAD;
    fastcgi_cache_bypass $skip_cache;
    fastcgi_no_cache $skip_cache;

    add_header Z_ABCD "Test header";

    if ($skip_cache = 1) {
      add_header Cache-Control "private, no-cache, no-store";
      add_header CACHE_STATUS "CACHE NOT USED";
    }
    if ($skip_cache = 0) {
      add_header Cache-Control "public, s-maxage = 240";
      expires 1d;
      add_header CACHE_STATUS "USED CACHE";
    }

    add_header ANOTHER_HEADER "message";
    }
}
nginx
  • 2 个回答
  • 3712 Views
Martin Hope
Tim
Asked: 2016-01-15 11:25:02 +0800 CST

在 Amazon Linux 上更新 OpenSSH - Amazon 存储库已过期

  • 2

我今天读到 OpenSSH 中存在一个重大漏洞,该漏洞已由最新版本 7.1p2 修复。根据这个故事,你的私钥很容易被泄露。

我正在使用最新的 Amazon Linux AMI,并且所有内容都针对 Amazon 的存储库是最新的。

[root@aws /]# ssh -V
OpenSSH_6.6.1p1, OpenSSL 1.0.1k-fips 8 Jan 2015

这是 Amazon yum 存储库中可用的软件包的列表

yum list | grep openssh

openssh.x86_64                      6.6.1p1-22.58.amzn1            @amzn-updates
openssh-clients.x86_64              6.6.1p1-22.58.amzn1            @amzn-updates
openssh-server.x86_64               6.6.1p1-22.58.amzn1            @amzn-updates
openssh-keycat.x86_64               6.6.1p1-22.58.amzn1            amzn-updates
openssh-ldap.x86_64                 6.6.1p1-22.58.amzn1            amzn-updates

看起来亚马逊存储库在 OpenSSH 更新方面落后了大约两年。我读到一些供应商支持旧版本 OpenSSH 的端口更新,所以这可能不是问题,或者亚马逊可能会很快解决它。

问题:

  • 这真的是个问题吗?
  • 如果有问题,最好的更新方法是什么?我通常会找到另一个 yum 存储库,增加它的优先级,然后从中更新。
ssh
  • 1 个回答
  • 3284 Views
Martin Hope
Tim
Asked: 2016-01-11 00:44:07 +0800 CST

在一个中间子目录中执行 PHP 的 Nginx HHVM Wordpress 问题

  • 3

我的一个网站有一个奇怪的情况,仍在 AWS 中开发。我在 t2.micro 上有 nginx 1.9.9 和 HHVM 3.6.6-1.amzn1.x86_64。它不可公开访问。

我在域的根目录中有一个自定义编写的网站,我在 /blog 目录中有 Wordpress,而 wordpress admin 在 /blog/wp-admin 中。自定义站点有各种文件,包括 index.php。Wordpress 在 blog 目录中有 index.php 和各种其他东西,wp-admin 也使用 index.php。

我可以加载自定义网站,它完全可以工作。WordPress 管理员完全可以工作。Wordpress 博客主屏幕/故事列表完全有效。问题是当我单击任何博客文章链接以完整查看它时,它会显示自定义网站主页索引。所以,换一种说法

http://www.example.com/index.php  - custom website works
http://www.example.com/blog/index.php  - blog index works
http://www.example.com/blog/2015/storyname - story load doesn't work with permalink %postname% regardless of text in post name - http://www.example.com/index.php loads
http://www.example.com/blog/2015/?p=96 - story load works
http://www.example.com/blog/wp-admin/ - admin works

当我单击故事链接时,我会得到与单击http://www.example.com/index.php相同的页面内容,只是图像不会加载,因为它们是使用相对 URL 完成的

http://www.example.com/blog/2015/storyname

当我加载站点根目录 /index.php 时,我会返回以下调试标头(请参阅下面的配置以了解它们是如何生成的)

Z_LOCATION: PHP MAIN
URI: /index.php
Z_DOCUMENT_ROOT: /var/www/hr
Z_FASTCGI_SCRIPT_NAME: /index.php
Z_REQUEST_FILENAME: /var/www/hr/index.php

当我加载 /wp-admin/ 我得到这些标题

Z_LOCATION: PHP MAIN
URI: /blog/wp-admin/index.php
Z_DOCUMENT_ROOT: /var/www/hr
Z_FASTCGI_SCRIPT_NAME: /blog/wp-admin/index.php
Z_REQUEST_FILENAME: /var/www/hr/blog/wp-admin/index.php

当我加载博客主页 /blog/index.php 时,我会返回这些标题

Z_LOCATION: PHP MAIN
URI: /blog/index.php
Z_DOCUMENT_ROOT: /var/www/hr
Z_FASTCGI_SCRIPT_NAME: /blog/index.php
Z_REQUEST_FILENAME: /var/www/hr/blog/index.php

当我尝试加载此 URL http://www.example.com/blog/2015/storyname时,我得到以下标题。Z_REQUEST_FILENAME(上图)显示加载的 URL 错误。

Z_LOCATION: PHP MAIN
URI: /index.php
Z_DOCUMENT_ROOT: /var/www/hr
Z_FASTCGI_SCRIPT_NAME: /index.php
Z_REQUEST_FILENAME: /var/www/hr/index.php

我不知道为什么当我单击该 URL 时它会尝试加载站点根目录 index.php。线索:

  • 将 Wordpress 永久链接结构从 %postname% 更改为 ?p=123 可解决此问题
  • 其他永久链接结构都没有帮助

为什么这只是查看博客文章的问题????我想知道这是否与try_files有关?

hhvm 错误日志中没有任何内容,nginx 错误日志中也没有任何内容。当我请求最后一个 URL 时,访问日志显示以下内容

(IP removed) - - [10/Jan/2016:08:22:19 +0000] "GET /blog/2015/storyname HTTP/1.1" 200 4424 "http://www.example.com/blog/" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0" "-" "0.050"

这是我的 nginx 站点配置。我没有包括主要的 nginx.conf 因为我认为它不相关。注意我已经更新了这项工作的工作代码。

server {
  server_name www.example.com;
  root /var/www/hr;
  access_log      /var/log/nginx/hr.access.log main;

  # Default location to serve
  location / {
    try_files $uri $uri/ /blog/index.php?$args;
    add_header Z_LOCATION "hr_root"; add_header URI $uri; # DEBUG
  }

  location ~*      \.(jpg|jpeg|png|gif|css|js)$ {
    log_not_found off; access_log off;
    add_header Z_LOCATION "STATIC RESOURCES REGEX"; add_header URI $uri;      # DEBUG
  }

  # Send HipHop and PHP requests to HHVM
  location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_intercept_errors on;
    fastcgi_pass       php;
    include                        fastcgi_params;
    fastcgi_param      SCRIPT_FILENAME $document_root$fastcgi_script_name;

    # DEBUGGING
    add_header Z_LOCATION "PHP MAIN"; add_header URI $uri;
    add_header Z_DOCUMENT_ROOT "$document_root"; add_header Z_FASTCGI_SCRIPT_NAME "$fastcgi_script_name";
    add_header Z_REQUEST_FILENAME "$request_filename";
  }
}

# Forward non-www requests to www
server {
  listen 0;
  server_name example.com;
  return 302 http://www.example.com$request_uri;
}

任何想法、想法或帮助表示赞赏。这是一个相当卷曲的,对我来说,但我怀疑这将是一个简单的改变来修复它。

nginx
  • 1 个回答
  • 335 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