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

Safado's questions

Martin Hope
Safado
Asked: 2015-08-14 08:41:57 +0800 CST

一些 mod_rewrite 语法说明

  • 1

我们最近继承了一些代码,我正在查看其中一个站点的 .htaccess 文件。我了解大多数重写规则集的最终结果是什么,我只是不确定某些语法。背景信息:CentOS 7 和 Apache 2.4,运行 Concrete5 CMS。

示例 1:

RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我了解 %{HTTPS} 是 mod_rewrite 提供的特殊变量之一,其计算结果为on或off。在之前的规则中,我看到RewriteCond %{HTTPS} =on哪个更有意义,并且与文档在此处显示的内容一致。所以在上面的例子中,我有以下问题:

  1. %{HTTPS}s 中的尾随“s”是什么
  2. 为什么模式使用 ^on 而不是 =on。这是有效的吗?
  3. 我知道括号中的任何内容都可以用 %1 进行反向引用,但它在这里的位置对我来说真的没有意义。如果 %{HTTPS} 将评估为onor off,则放置 (s)| in Pattern 会让它永远不匹配条件,对吧?PIPE 是做什么用的?

示例 2:

#redirect calls to index.php without get parameters to non-www
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{THE_REQUEST} /index\.php\s [NC]
RewriteRule ^(.*?)index\.php$ /$1 [L,R=301,NC,NE]

我不太了解第二个 RewriteCond。

  1. \sindex.php 的末尾在做什么?

示例 3:

最后,我们有

#Standard C5 pretty urls
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}/index.html !-f 
RewriteCond %{REQUEST_FILENAME}/index.php !-f 
RewriteRule . index.php [L]

在 RewriteRule 中,模式.在正则表达式中表示“任何字符”。

  1. 这个规则是说“如果满足上述条件,用 index.php 替换任何字符”?这条规则在做什么?
.htaccess
  • 1 个回答
  • 124 Views
Martin Hope
Safado
Asked: 2015-04-30 06:35:55 +0800 CST

AD 服务器未将证书用于 Active Directory LDAP + SSL

  • 4

我正在尝试为我们域中的 Active Directory 启用 SSL。我遇到的问题是服务器无法识别我为它制作的证书。每当我尝试使用 ssl(使用 ldp.exe)查询服务器时,我都会收到事件 36886,它基本上表明在服务器上找不到合适的证书。

我已经阅读了这篇 kb 文章以进行故障排除,这就是我所拥有的

  • 我已将证书放在本地计算机的证书存储中,在 Personal 容器下。我在 Linux 机器上使用 openssl 作为 CA,并将其证书放在 Trusted Root Certification Authorities 容器下。

  • 我的域控制器 FQDN 在证书的主题中。在 extendedKeyUsage 部分中还添加了一个备用名称,查询时两者都不起作用。

  • 我在 EnhancedKeyUsage 部分有 serverAuth 和 clientAuth
  • 当我在 mmc 控制台中双击证书时,它在底部声明“您有一个与此证书相对应的私钥” ,但是,根据 KB 说明,我运行该certutil -verifykeys命令并返回The system cannot find the file specified.

  • 当我双击证书并转到证书路径时,它会列出我的 CA,然后是证书,然后在它下面说 This certificate is OK,所以我假设这意味着链是有效的。

  • 它是计算机个人存储中唯一的证书

  • 当我做类似certutil -verifystore MY 0它列出证书的事情时,它唯一的抱怨是关于吊销列表,因为我从来没有做过 crl,但它仍然说证书最后是有效的。

我猜它失败的原因与失败的原因有关certutil -verifykeys,但是当我遇到错误时,我无法找到它的实际含义。

谁能指出我正确的方向?

active-directory
  • 2 个回答
  • 1981 Views
Martin Hope
Safado
Asked: 2013-11-09 09:39:27 +0800 CST

无法使用 semanage 使 SELinux 上下文类型永久化

  • 4

我在 /modevasive 创建了一个新文件夹来保存我的 mod_evasive 脚本和日志目录。我正在尝试将上下文类型更改为 httpd_sys_content_t 以便 Apache 可以写入该文件夹。我确实semanage fcontext -a -t "httpd_sys_content_t" /modevasive更改了上下文,然后restorecon -v /modevasive启用了更改,但 restorecon 没有做任何事情。所以我过去chcon手动更改它,restorecon 看看会发生什么,然后将它改回 default_t。

semanage fcontext -l 给出:

/modevasive/          all files          system_u:object_r:httpd_sys_content_t:s0`

看着/etc/selinux/targeted/contexts/files/file_contexts.local给

 /modevasive/    system_u:object_r:httpd_sys_content_t:s0

那么,为什么 restorecon 不断将其设置回 default_t 呢?

rhel6
  • 1 个回答
  • 1762 Views
Martin Hope
Safado
Asked: 2013-09-20 11:55:10 +0800 CST

给 Apache 用户一个 shell 的危险

  • 4

tl;dr - 在 /etc/passwd 中给 Apache 一个 shell 有什么危险?


我正在努力使用 Apache 设置 mod_evasive 以对抗 DOS 尝试。我使用DOSSystemCommand运行一个脚本,将有问题的 IP 地址添加到 iptables 中的 BANNED 链中。

我发现让这个过程正常工作的唯一方法是将 Apache 的 shell 从 更改/sbin/nologin为/bin/bash. 但实际上只有脚本的一部分因没有更改外壳而失败。这DOSSystemCommand是它运行的行和脚本:

 DOSSystemCommand    "/usr/bin/sudo /bin/bash /var/www/html/ban_ip.sh %s"

和脚本......(注意我只是在测试......这就是为什么我有详细的输出和短暂的禁止期)

#!/bin/bash

IP=$1
IPTABLES=/sbin/iptables

sudo $IPTABLES -I BANNED -p tcp -s $IP --dport 443 -j DROP
sudo $IPTABLES -I BANNED -p tcp -s $IP --dport 80 -j DROP

echo sudo $IPTABLES -v -D BANNED -p tcp -s $IP --dport 80 -j DROP | at -m now + 1 minutes
echo sudo $IPTABLES -v -D BANNED -p tcp -s $IP --dport 443 -j DROP | at -m now + 2 minutes
echo rm -fv /tmp/dos-$IP | at -m now + 2 minutes

因此,Apache 的外壳为/sbin/nologin,它将添加 IPTABLES 规则并创建at作业,但是当我收到一封包含 at 作业结果的电子邮件时,它指出User is currently unavailable,因此永远不会删除 iptables 规则。如果我将 Apache /bin/bash 作为其 shell,则会添加 iptables 规则,创建 at 作业,并且 iptables 删除将在指定时间按预期工作。

所以我的问题是:通过给 Apache 用户一个 shell,我以什么方式将我的服务器置于危险之中?

centos
  • 2 个回答
  • 2656 Views
Martin Hope
Safado
Asked: 2012-11-29 12:14:28 +0800 CST

vCenter Appliance 不会使用邮件中继服务器

  • 0

tl;dr : - sendmail 配置为使用中继服务器,但仍然坚持使用 127.0.0.1 作为中继,这导致邮件无法发送。


我们使用开源 vCenter 设备 (v 5.0) 管理我们的 ESXi 集群。当通过 vSphere Client 连接到它时,您可以通过转到 来配置要使用的 SMTP 中继服务器Administration > vCenter Server Settings > MAIL。您可以在那里设置 SMTP 服务器值。我查看了他们的文档,并在支持人员的电话中确认,配置邮件所需要做的就是在该框中输入中继 IP 或 fqdn,然后点击“确定”。

好吧,我已经这样做了,但邮件仍然没有发送。因此,我通过 SSH 进入服务器(即 SuSE)并查看 /var/log/mail,它似乎正试图通过 127.0.0.1 中继电子邮件,但它拒绝了它。所以查看配置文件,我看到有/etc/sendmail.cf和/etc/mail/submit.cf。您可以配置项目/etc/sysconfig/sendmail并运行SuSEconfig --module sendmail以根据 /etc/sysconfig/sendmail 中的内容将这些项目生成为 .cf 文件。

因此,我发现当您在 vCenter gui 中设置 SMTP 服务器值时,它所做的只是将 /etc/mail/submit.cf 中的“DS”行更改为具有DS[myrelayserver.com].

在 Internet 上看,似乎 DS 线路确实是您要使用中继服务器唯一需要更改的东西。我在 VMWare 支持下打电话,花了 2 个小时试图修改任何与中继有关的设置,但我们无法让它不使用 127.0.0.1 作为中继。请注意,每当我们进行任何类型的配置更改时,我们都会重新启动 sendmail 服务。

有谁知道发生了什么事?关于如何解决这个问题有什么想法吗?

sendmail
  • 5 个回答
  • 11987 Views
Martin Hope
Safado
Asked: 2012-07-07 12:44:52 +0800 CST

托管故障转移(代理?)服务 - 它存在吗?

  • 0

我们正处于使我们的 Web 应用程序服务冗余的计划阶段。现在我们在托管中心拥有自己的物理服务器,运行连接到 EqualLogic SAN 的 VMWare 集群。这是一个 LAMP 设置。我们想建立第二个站点,用于负载平衡或作为主动/被动故障转移(我认为我们一直倾向于后者,但尚未做出任何决定)。

在绘图板上,我们提出了我们认为简单的解决方案。ourdomain.com 解析为 1.2.3.4,这是负载均衡器的 IP 地址,或者故障转移服务或类似 apache 的反向代理的东西。请求进入它并将请求转发到适当的数据中心。这样,如果数据中心 A 出现故障,我们只需更改负载均衡器即可将所有请求发送到数据中心 B。

我们未能找到提供此类服务的任何人。我们询问过的每个人(比如 X0 和 L3)都说他们真的不知道我们是否会找到类似的东西。我们的最终目标是在两个站点之间实现冗余,以最大限度地减少停机时间,无论是硬件故障还是整个数据中心因自然灾害而离线。我们向各种供应商描述了这种设置,但没有人熟悉任何此类服务。

我们遇到的最好的想法是使用故障转移 DNS。我们目前使用 dnsmadeeasy.com,如果他们的监视器检测到站点 A 变暗,他们将更改 DNS 以解析为站点 B 的 IP。我们已经做了一些测试,即使我们的 TTL 为 1 分钟,它也需要DNS 服务器平均需要大约 15 分钟才能完成更改,而我们在海外查询的一些 DNS 提供商(例如澳大利亚,这对我们很重要)需要将近一个小时才能完成更改。这还不够好。

那我错过了什么?

  • 是否存在托管故障转移解决方案?为什么所有这些知名公司都表现得好像他们以前从未听说过这样一个概念,而这个概念似乎应该相当普遍?
  • mod_proxy 对我们有用吗?如果是这样,您能否设置一个 Apache 服务器集群来执行 mod_proxy,这样 IT 就不会成为单点故障?
  • 您是否可以建议更好的冗余站点解决方案?
replication disaster-recovery failover
  • 1 个回答
  • 274 Views
Martin Hope
Safado
Asked: 2012-05-08 07:11:28 +0800 CST

计划将服务器从一个主机迁移到另一个主机

  • 3

我们对目前的托管服务提供商不是很满意,因此我们希望搬到另一个城市的另一家公司。我们的业务是一所可在全球范围内访问的在线学校(这意味着我们的应用程序需要 24x7 可用性,但最多 1-2 小时的停机时间可能是可以承受的)。世界各地的学院和大学都将我们的课程作为他们自己的课程提供,因此这些协议的一部分规定,如果他们付钱给我们,我们在任何给定月份的停工时间不得超过 X。

所以我有一个计划,但我想公开它,看看是否有其他人看到我可能忽略的任何问题,或者如果你有更好的计划可以建议。

我们的设置:英特尔模块化服务器、带监狱的 FreeBSD、apache、mysql、php。学生登录的域类似于 portal.mydomain.com

我在想我们可以在站点 B(新站点)放置我们服务器的第二个实例并给它一个新域名 (portal1.mydomain.com)。然后我们可以强制所有来自 portal.mydomain.com 的流量重定向到 portal1.mydomain.com。届时,我们会对原始域名的 DNS 进行更改,使其具有新的 IP 地址。然后我们会给它 48 小时的时间来传播 DNS 更改。那时我们只需更改新实例上的 apache 以响应 portal.mydomain.com 而不是 portal1,然后一切照常进行。

我忽略了这个计划中的任何漏洞吗?有更好的方法吗?

migration colocation
  • 1 个回答
  • 247 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