标签: httpd

如何选择要使用的 Apache MPM?

这是一个关于选择正确的 Apache httpd MPM的规范问题

我对 Apache 提供的不同 MPM 有点困惑——'worker'、'event'、'prefork' 等。

它们之间的主要区别是什么,我如何确定哪一个最适合给定的部署?

httpd mpm-worker mpm-prefork apache-2.2

289
推荐指数
4
解决办法
17万
查看次数

如何修复 Apache (httpd) 中的“logjam”漏洞

最近,Diffie-Hellman 中的一个新漏洞(非正式地称为“logjam”)已经发布,为此页面已汇总,建议如何应对该漏洞:

我们为正确部署 Diffie-Hellman for TLS 提供了三个建议:

  1. 禁用导出密码套件。尽管现代浏览器不再支持导出套件,FREAK 和 Logjam 攻击允许中间人攻击者诱骗浏览器使用导出级加密,然后可以解密 TLS 连接。出口密码是 1990 年代政策的残余,该政策阻止了强大的加密协议从美国出口。没有现代客户依赖导出套件,禁用它们几乎没有缺点。
  2. 部署(临时)椭圆曲线 Diffie-Hellman (ECDHE)。椭圆曲线 Diffie-Hellman (ECDH) 密钥交换避免了所有已知的可行密码分析攻击,并且现代 Web 浏览器现在更喜欢 ECDHE,而不是原始的有限域 Diffie-Hellman。我们用来攻击标准 Diffie-Hellman 组的离散对数算法没有从预计算中获得如此强大的优势,并且单个服务器不需要生成唯一的椭圆曲线。
  3. 生成一个强大的、独特的 Diffie Hellman 组。数百万台服务器使用几个固定组,这使它们成为预计算和潜在窃听的最佳目标。管理员应该为每个网站或服务器使用“安全”素数生成唯一的、2048 位或更强大的 Diffie-Hellman 组。

根据上述建议,我应该采取哪些最佳实践步骤来保护我的服务器?

ssl httpd vulnerability apache-2.2 apache-2.4

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

如何在 Apache httpd 虚拟主机中配置基本身份验证?

我正在尝试使用 Apache http 配置 mercurial 访问。它需要身份验证。我的/etc/apache2/sites-enabled/mercurial看起来像这样:

NameVirtualHost *:8080

<VirtualHost *:8080>
    UseCanonicalName Off
    ServerAdmin  webmaster@localhost
    AddHandler cgi-script .cgi
    ScriptAliasMatch ^(.*) /usr/lib/cgi-bin/hgwebdir.cgi/$1
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我在互联网上阅读的每个教程都告诉我插入这些行:

AuthType Basic
AuthUserFile /usr/local/etc/httpd/users
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到以下错误:

# /etc/init.d/apache2 reload
Syntax error on line 8 of /etc/apache2/sites-enabled/mercurial:
AuthType not allowed here
Run Code Online (Sandbox Code Playgroud)

我的发行版是一个定制的 Ubuntu,称为 Turnkey Linux Redmine

httpd authentication mercurial http-authentication apache-2.2

53
推荐指数
3
解决办法
17万
查看次数

Nginx 最佳实践

您在使用 NGinx 时使用了哪些最佳实践?

nginx httpd

46
推荐指数
9
解决办法
4万
查看次数

_default_:* 和 *:* 在 VirtualHost 上下文中的区别

我想知道VirtualHost Context 中default :*”“*:*”之间的区别。

<VirtualHost _default_:*>
  #...
  ServerName host.example.com
  #...
</VirtualHost>

<VirtualHost *:*>
  #...
  ServerName host.example.com
  #...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我不知道区别和用途。

thk

tomcat httpd httpd.conf virtualhost apache-2.2

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

实时部署新代码

在实时(电子商务)站点上部署新代码的最佳做法是什么?

现在重命名目录时,我已经停止阿帕奇+/-10秒public_html_newpublic_html老来public_html_old。在我再次启动 Apache 之前,这会造成短暂的停机时间。

如果使用 Git 将新的 repo 拉到 live 目录,也会出现同样的问题。我可以在站点处于活动状态时拉出 repo 吗?如果我还需要复制数据库呢?

在对实时站点进行 tar(备份目的)压缩期间,我注意到媒体目录中发生了变化。这向我表明文件会定期更改。如果 Apache 在部署期间没有停止,这些更改是否会干扰。

httpd centos magento

30
推荐指数
5
解决办法
3356
查看次数

如何测试keep-alive是否在客户端工作

有哪些不同的方法/工具可以从客户端验证 keep-alive 是否在服务器上工作?

http httpd web keepalive

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

自动测试网站是否可用的脚本

我是一名孤独的 Web 开发人员,拥有自己的 Centos VPS,为我的客户托管了一些小型网站。今天我发现我的 httpd 服务已经停止(没有明显的原因 - 但这是另一个线程)。我重新启动了它,但现在我需要找到一种方法,如果它再次发生,我可以通过电子邮件和/或短信通知我 - 当我的客户打电话给我告诉我他们的网站不起作用时,我不喜欢它!

我知道可能有很多不同的可能性,包括服务器监控软件。我认为我真正需要的是一个脚本,我可以从我的开发主机(它永久在我的办公室中运行)作为 cron 作业运行该脚本,该脚本尝试从我的生产服务器加载一个页面,如果它没有在 30 内加载秒然后它给我发送电子邮件或短信。我在shell脚本方面很垃圾,因此这个问题。

任何建议将不胜感激。

scripting bash httpd cron system-monitoring

20
推荐指数
4
解决办法
11万
查看次数

您能确定哪些 Apache 模块已被使用并且可以删除吗?

我和很多人一样,有一个相对开箱即用的 Apache 安装,有很多默认的“LoadModule”行。

从一开始,我就安装了很多软件,说实话,我不知道什么软件在使用哪些模块。

我想减少我的 Apache 实例的内存占用,为此,我想删除正在使用的模块。我所知道的确定模块是否正在使用的唯一方法是将其从配置中删除并查看是否有任何损坏。这在很多方面都比我有时间描述的糟糕。

我想知道是否有人知道让 Apache 报告已使用哪些模块的方法,或者是否有另一种方法以编程方式确定模块是否可以安全取消配置

httpd low-memory apache-2.2

19
推荐指数
3
解决办法
5680
查看次数

对 DFOREGROUND 与 Apache 感到困惑

所以我刚刚使用 Yum 在新的 CentOS 7 服务器上安装了 Apache。我以前安装过 Apache 很多次,但从来没有见过这个:当我现在运行ps aux 时,它总是显示

/usr/sbin/httpd -DFOREGROUND

Google 告诉我,这意味着该进程将在前台运行,而不是与 shell 分离,但我真的不明白这意味着什么 - 如果我关闭我的 shell,Apache 会死吗?

我只想获得正常的 Apache 行为,并让 httpd 像往常一样运行,在后台运行,我是否需要禁用 DFOREGROUND?(顺便说一句,我不知道该怎么说)

httpd apache-2.4 centos7

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