Articles of apache 2.4

Apache 2.4 +中的Apache MPM事件

多年来,我一直在使用mpm-prefork模块,因为据我所知,这是Apache 2和1.3的首选工作者。 现在我将安装一些新的Apache服务器,并将使用更新的2.4版本,基于事件的mpm使用epoll / kqueue。 我知道在过去的几年里,基于事件的系统已经变得非常stream行(例如nginx,lighttpd,node.js),所以既然mpm-event现在在Apache中是稳定的,那么这是首选的多处理模块吗? 我还注意到了mpm-event文档页面的评论: 改进的连接处理还不适用于某些连接筛选器,特别是SSL。 对于SSL连接,此MPM将回退到worker MPM的行为,并为每个连接保留一个工作线程。 我们的主站强制build立一个SSL连接,所以很明显,我们不会从改进的与保持连接有关的连接处理中获益,但是我的理解是正确的,因为线程的发生将会减less,所以仍然会有一些性能改进。

Apache – VirtualDocumentRoot和DocumentRoot之间的区别?

我发现很难find这个答案,经过一个小时(是,一个小时)的search和浏览stackexchange和其他几个论坛上的几个post…甚至通过Apache的文档! 我不能为我的生活find这两者之间的区别,补充说,我对Apache相当不熟悉。 当我寻找替代解决scheme在本地机器上为PHP和MySQL创build开发服务器时遇到了这个问题。 我正在学习这个教程: https://mallinson.ca/osx-web-development/ …其中提到“VirtualDocumentRoot”,但没有指定为什么这是一个更好的(是吗?)select通过DocumentRoot。 任何线索或链接,我可能会在这里find文件将不胜感激。 谢谢! 注:最接近我发现文档只在DocumentRoot http://httpd.apache.org/docs/2.4/mod/core.html#documentroot

将apache从2.2升级到2.4后出现SSL错误

将Debian服务器从稳定版升级到testing版后,svn客户端不能再连接到subversion服务器。 我们的svn客户端需要使用客户端证书进行连接,并且subversion服务器在Apache下托pipe。 Subversion从1.6.17升级到1.7.13。 Apache2从2.2.22升级到2.4.6。 svn客户端在更新时收到以下错误消息: Updating '.': svn: E175002: Unable to connect to a repository at URL 'https://myserver/svn/myproject/dev/trunk' svn: E175002: OPTIONS of 'https://myserver/svn/myproject/dev/trunk': SSL handshake failed: SSL error: An unexpected TLS packet was received. (https://myserver) 在Apache服务器上,只有一条消息出现在other_vhosts_access.log中: myserver.localdomain:80 127.0.0.1 – – [06/Jan/2014:19:02:57 -0500] "\x16\x03" 400 0 "-" "-" 这里是subversion虚拟目录的configuration: <VirtualHost *:443> ServerName myservername SSLEngine On SSLCertificateFile […]

ssl .key文件丢失了,我可以重新创build它吗?

我丢失了我的.key文件,我的域名是由我的SSL提供者创build的,我仍然有我的.crt和.pem文件。 是否有可能通过我自己重新创build与证书匹配的.key文件?

为什么在Apache上创build新的TCP会话时,请求的TTFB长了5倍?

在使用apache服务的映像上进行testing时,我注意到当创build一个新的会话时: Waiting (TTFB) : 1.09s Initial connection + SSL handshake : 370ms DNS Lookup : 165ms 但是,然后通过一个持续的连接如下: Waiting (TTFB) : 187ms 4ms Content Download : 4ms 所以我们平均发现TTFB在新连接上的时间要长5倍,非持久性。 这是正常的吗? 侧面的问题:为什么只有在有新的连接时才进行新的DNS查询?

麻烦debuggingApache的自签名SSL证书

我试图设置一个自签名的SSL证书,所以我可以开发我的应用程序与SSL(所以我终于可以让我的网站运行SSL …)。 我已经创build了一个带有无头API(Lumen)的Angular网站,并尝试使用来自ServerFault的问题设置一个多域SSL证书: 如何为Apache2创build一个多域自签名证书? testing命令签出,所以我试图安装与以下Apacheconfiguration的证书: <VirtualHost *:80> ServerAdmin [email protected] ServerName api.gamersplane.local DocumentRoot /var/www/GamersPlane.api/public <Directory /var/www/GamersPlane.api/public/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "|/usr/bin/cronolog /var/log/gamersplane/%Y/%m/%d/error.log" # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel notice CustomLog ${APACHE_LOG_DIR}/gamersplane/access.log combined SSLEngine on SSLCertificateFile /var/www/GamersPlane.api/ssl/gamersplane.local.pem SSLCertificateKeyFile /var/www/GamersPlane.api/ssl/gamersplane.local.key </VirtualHost> 不幸的是,当我打我的网站,我得到This site can't […]

编写一个基于apache版本的apacheconfiguration

我想写一个configuration的Apache服务器应该工作的Apache-2.2和-2.4没有改变。 由于在v2.4中有很多新的模块需要加载,并且有一些改变了的指令,所以我需要一些条件语句。 我想要的是沿着这条线 <If ApacheVersion >= 2.4> LoadModule mod_only_in_2.4.so </If> 但我还没有find正确的expression。 有人能指出我正确的方向吗? 澄清我的动机:我正在开发一个服务器,我希望能够复制到服务器上并运行,而不需要依赖主机的configuration。 由于机器可以有任何版本的Apache,我想要在两种情况下工作的configuration。

LetsEncrypt:连接中未知的SSL协议错误

我有一个LE证书的主机,它在浏览器中运行良好,但我仍然无法使用curl , openssl , wget , POST (libwww-perl)进行连接: curl # curl -v -3 https://example.com/ * Hostname was NOT found in DNS cache * Trying 123.123.123.123… * Connected to example.com (123.123.123.123) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * Unknown SSL protocol […]

为什么www.example.com与example.com不同?

我的网站可以访问www.fonix-energia.hu和fonix-energia.hu。 在第一种情况下,网站似乎崩溃了,而没有www它完美的作品。 /var/www/fonix文件夹中只有一个站点的副本。 服务器上应该没有备用版本。 这是我的DNSconfiguration:这两个地址应指向相同的地方: Name TTL Class Type Record fonix-energia.hu. 14400 IN A 95.85.47.115 localhost.fonix-energia.hu. 14400 IN A 127.0.0.1 mail.fonix-energia.hu. 14400 IN CNAME ghs.googlehosted.com ftp.fonix-energia.hu. 14400 IN A 195.56.100.77 cpanel.fonix-energia.hu. 14400 IN A 195.56.100.77 webdisk.fonix-energia.hu. 14400 IN A 195.56.100.77 whm.fonix-energia.hu. 14400 IN A 195.56.100.77 webmail.fonix-energia.hu. 14400 IN A 195.56.100.77 autoconfig.fonix-energia.hu. 14400 IN A 195.56.100.77 […]

403 Redhat服务器上的禁止错误

这是我第一次使用Amazon EC2。 我正在运行Apache 2.4.6的服务器,当我访问公有DNS或弹性IP时,我似乎无法正常工作。 我得到的错误消息是: Forbidden You don't have permission to access /index.html on this server. 我已经检查了这个文件的权限(755)。 我的httpd.conf文件中有一个VirtualHost块,如下所示: Listen 80 NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName my-ec2-public-dns-url </VirtualHost> 对于HTTP / HTTPS,AWS中的我的安全组设置都设置为Anywhere。 当我检查错误日志时,它说: AH00132: file permissions deny server access: /var/www/html/index.html 不知道我在做什么错。 谢谢你的帮助。