Articles of apache 2.4

为什么mod_jk绕过Apache授权?

由于许多JkMount(jk-status除外)的Apache 2.2授权的切换被绕过。 如果我取消浏览器密码popup,我得到一个401页。 这不是我所期望的,而是来自Apache的,而不是来自JBoss的,它不应该被允许与之通话。 (我发现这是因为未经授权的用户正在与JBoss交谈。) 在接收端,我们有JBoss 4和Wildfly 7.这两个都是“Apache / 2.4.3(Unix)mod_jk / 1.2.37”和“Apache / 2.4.10(Unix)mod_jk / 1.2.40”。 configuration总是像 <Location /XYZ/*> JkMount XYZ AuthType basic AuthUserFile conf/passwd/XYZ AuthName "XYZ security" Require valid-user </Location> 我甚至有相同的设置(工作定义, <Location> ,文件权限和内容)在2.4.3上工作,而在2.4.10上工作的情况。 对于其他的JkMounts,两个版本的行为都是错误的。 如果我提高debugging级别,我没有看到如何parsing这个。 当我打电话的URL说,没有指令保护它。

Apache2.4和HHVM作为FastCGI – 每个VHost有不同的设置?

我刚刚使用ProxyPassmatch指令设法在FastCGI模式下使用HHVM设置Apache 2.4服务器。 问题是,我现在可以为每个主机设置不同的根path,但不能为每个VHost设置任何其他configuration参数,如include_path,error_log或其他经典的PHP设置… VHost文件: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName host1.local DocumentRoot /var/www/host1/root ErrorLog ${APACHE_LOG_DIR}/host1_error.log CustomLog ${APACHE_LOG_DIR}/host1_access.log combined ProxyPassMatch (.php)$ fcgi://127.0.0.1:9000/var/www/host1/root # php_value include_path ".:/var/www/host1/includes" # php_value error_log "/var/www/host1/log/php_error.log" <Directory /var/www/host1/root> AllowOverride All </Directory> </VirtualHost> 有一些报告说我也可以在HHVM中build立虚拟主机,但是由于Fast-CGI似乎被弃用了。 即使如此,除了我的Apache VHost文件之外,我还必须在单独的文件中提供VHost设置。 所以…我怎么能提供不同configuration的HHVM每VHost? 更新似乎我讨论了在回答中描述的使用FcgidInitialEnv(或Nginx上的fastcgi_param)方法时HHVM的错误(或丢失的function)。 https://github.com/facebook/hhvm/issues/3730

服务器返回特定脚本的http 504错误代码

我有3个服务器都设置相同的负载平衡与Apache,mod_proxy_fcgi,php5-fpm和MySQL / mariaDB galera群集运行在Ubuntu 14.04服务器上的单个网站。 除了一页以外,一切接缝都可以正常工作。 页面im有上传和处理大csv文件(7K到20K行)的问题,然后将数据插入数据库。 当网站在一台服务器上运行时,这个页面工作正常,但是附加的时间galera集群需要同步其他两个服务器接口,这是问题的根本原因,因为它是一个同步更新,获得并保持locking直到所有3服务器被更新。 这是不明显的任何其他页面,但在这个脚本504返回错误,并且Apache错误日志包含以下错误。 [proxy_fcgi:error] [pid 24235] [client 99.99.99.99:44197] AH01068: Got bogus version 1,referer: http://example.com/page.php [proxy_fcgi:error] [pid 24235] (22)Invalid argument: [client 99.99.99.99:44197] AH01075: Error dispatching request to :, referer: http://example.com/page.php 99.99.99.99的IP地址是服务器的实际IP地址,而不是客户端,所以看起来php-fpm没有及时响应proxy_fcgi(因为它正在等待mysql),并返回超时。 我试图调整超时在我的apache站点configuration以及php-fpm超时没有运气。 我的apacheconfiguration如下 <Proxy fcgi://127.0.0.1:9000> ProxySet timeout=1800 </Proxy> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/$1 也试过了 ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/$1 connectiontimeout=300 timeout=300 我不想在后台处理上传,因为如果我正在处理页面,如果在csv文件中发现错误,我正在使用mysql行pk,以允许用户编辑信息并更正问题。 我的用户更舒服的等待这个页面,然后他们回来检查它的进度。

邮件和Apache虚拟主机的问题

我正在创build一个Mailman,Apache2.4和Postfix的设置。 我的问题如下。 当我使用域名访问邮件列表时,我在浏览器中得到了正确的结果。 这里的图片 但是,如果我试图直接使用我的服务器的IP地址访问,我得到一个不同的页面,邮件列表丢失。 这是它的样子: 所需的结果是获得完全相同的页面。 apache2configuration如下: <Directory /usr/lib/cgi-bin/mailman/> AllowOverride None Options +ExecCGI AddHandler cgi-script .cgi # (Old apache2.2 style configuration:) # Order allow,deny # Allow from all # New apache 2.4 configuration: Require all granted </Directory> <Directory /var/lib/mailman/archives/public/> Options FollowSymlinks AllowOverride None # (Old configuration:) # Order allow,deny # Allow from all # […]

试图安装php-cgi / Apache / Ubuntu 14.04

我试图在我干净的安装Ubuntu 14.04上使用“Php反向shell”作为学校用途。 我正常地configuration了我的Apache / PHP / MySQL。 我需要得到php函数“pcntl_fork()”的工作。 为了得到它的工作,我需要使用PHP-CGI,但是在6个小时的尝试之后我无法工作。 这是我遵循的最后一个教程: http : //www.binarytides.com/setup-apache-php-cgi-ubuntu/ 我有一些麻烦,现在我试图解决它们。 这是我的.conf文件现在的样子: <VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port t$ # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what […]

错误日志级别Apache 2.4

有没有办法在Centos 7上的Apache 2.4.6中暂时获得更详细的日志错误,如果是这样的话,怎样才能看到实际的日志logging级别,以及如何获得详细的日志logging。 正如Apache所build议的那样, http ://httpd.apache.org/docs/2.4/logs.html上有一个“LogLevel info rewrite:trace5”,但是怎样才能看到实际的级别呢? 我担心改变,不知道如何回到网站上,并有这个“记忆问题”。 我理解正确吗? 是否会更改日志错误级别?

Apache不显示PHP错误的自定义500错误页面

Apache不想显示我设置的自定义错误文档。 在我的虚位上,我有 DocumentRoot /var/www/site/public … ErrorDocument 500 /500.html 500.html位于/var/www/site/public/500.html 为了testing这个,我刚刚创build了一个破损的PHP页面,它返回一个500头,但是页面是空白的。 我怀疑这是PHP生成500页而不是apache的结果。 那么如何让PHP显示我的自定义Apache的错误文档?

使用mod_reqtimeout进行性能testing时出现Apache问题

我们有2个Apache Web服务器,通过mod ajp连接到2(JBoss)应用程序服务器。 对于这些networking服务器,移动设备通过REST API连接。 在我们的性能testing中,我们很快遇到了很多NonHttpResponse错误,我们确定它们来自mod_reqtimeout: [Mon Mar 16 14:42:49.324705 2015] [reqtimeout:info] [pid 27914:tid 140628428449536] [client 1.2.3.4:48280] AH01382: Request header read timeout …configuration如下: <IfModule reqtimeout_module> RequestReadTimeout header=10-20,minrate=500 RequestReadTimeout body=10,minrate=500 </IfModule> 我能够通过增加这些值来摆脱这些错误 RequestReadTimeout header=20-60,minrate=100 但是,这不是解决scheme,因为有更多的同时发生的用户再次出现问题(要求能够服务300个并发用户–100个工作相当好,300个我们有10,000个以上的请求头读取超时错误)。 我怀疑这是apaches KeepAlive,我们的mod_ajpconfiguration和mod_reqtimeout的相互作用,导致mod_reqtimeout的结论是有一个slowloris攻击正在进行(许多开放的连接什么都不做),我恳求你的帮助,调整这些参数。 其他问题是Web服务器和应用程序服务器之间的防火墙,我怀疑要打开空闲连接。 我读完closuresKeepAlive来解决这个问题,但正如我所说,我们所有的客户都是移动设备,所以这可能不是一个选项(?)。 以下是其他configuration(的一部分): workers.properties: worker.list=server worker.maintain=60 worker.server.type=ajp13 worker.server.host=server worker.server.port=15869 worker.server.socket_keepalive=True worker.server.connection_pool_timeout=600 worker.server.ping_mode=A worker.server.connection_ping_interval=60 mod_prefork: <IfModule prefork.c> StartServers 5 MinSpareServers […]

SNI是否真的需要TLSv1(不安全)?

从Apache 2.4 文档 : 基于SSL名称的虚拟主机的第一个(默认)虚拟主机必须包含TLSv1作为允许的协议,否则Apache将不会接受来自客户端的SNI信息,并且仿佛客户端根本不支持SNI。 我想在我的服务器上启用多个启用TLS的站点,每个站点都提供不同的证书。 出于安全原因,我只允许TLSv1.1和TLSv1.2。 有一个安全的方法来打开SNI? 从我的configuration一个片段: <VirtualHost *:80> ServerName www.example.com Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost *:443> ServerName www.example.com DocumentRoot /var/www/example.com SSLEngine on SSLProtocol all -SSLv2 -SSLv3 -TLSv1 [other SSL options] </VirtualHost> <VirtualHost *:80> ServerName www.example.org Redirect permanent / https://www.example.org/ </VirtualHost> <VirtualHost *:443> ServerName www.example.org DocumentRoot /var/www/example.org SSLEngine on SSLProtocol all -SSLv2 […]

在Apache和Tomcat服务器之间configurationHA代理

想要用我现有的结构来configurationHA代理。 目前我有Apache-> Tomcat服务器。 这个我想改成Apache-> HA Proxy-> Tomcat Server。 HA我configuration了Http请求。 但是我的Apache与AJP13一起工作。 我需要改变吗? 1)Apacheredirect与Http请求? 要么 2)HA接受AJP请求(我不知道这个可以实现与否)? 我认为第一种select是可能的。 任何人可以build议我如何实现第一select? 还有哪一个是最好的办法。