Articles of apache 2.2

打开deflate时,apache httpd mod_expires不起作用

在Debian Jessie安装中,我手动安装了wordpress并编辑了.htaccess ,将mod_expires转为: ExpiresActive On ExpiresDefault modification 但是,当我使用Firefox Inspector来观看networkingstream量时,我发现所有的js和css文件都返回200 OK,而不是使用HTTP 304。 然后我做了一些实验。 我创build了一个名为foobar.css的几乎为空的(不可压缩的)文件,并在Firefox中浏览它。 它第一次返回200 OK ,第一次是未压缩的数据,第二次是304 Not Modified 。 我多次重复相同的内容来创build一个大的(可压缩的)文件。 这一次服务器第一次,第二次,第三次返回200 OK与压缩数据…每次它返回相同的内容,而不是预期的304 Not Modified 。 我看了/etc/apache2/mods-enabled/deflate.conf ,发现text/css在默认情况下是放气的: … AddOutputFilterByType DEFLATE text/css … 两个模块mod_expires和mod_deflate可以同时工作吗? 我应该如何configuration它们? 非常抱歉破碎的英文。 编辑:我已经find了一个解决方法在这里: https : //bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22但是,这只是一个解决方法。 我认为这真的是一个服务器错误。

从apache切换到nginx – mod_rewrite的问题

我只是将我的服务器从apache2切换到nginx,现在我的.htaccess重写有一些问题。 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes… RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 我已经收集到,为了使这个工作在Nginx上,我将需要编辑Nginx服务器块。 任何人都可以告诉我如何? 非常感谢你提前。

Apache的httpd,Tomcat:负载平衡似乎在两个tomcat之间工作,但一停止,服务死亡

我正在处理一个任务,在这个任务中,我必须对两个tomcat实例进行负载平衡,以便它们之间也可以共享一个公共会话,当其中一个发生故障时,另一个可以处理任务。 第一个任务似乎在两个Tomcat版本都在线时工作,那么似乎没有问题。 我不知道如何检测哪个用户来自哪个tomcat,所以我可以看到来自其他tomcat的用户是否正在聊天,然后session-id被正确共享。 我面对的第二个问题是,如果一个tomcat出现故障,另一个tomcat实例应该继续运行并提供正在进行的请求,但这不会发生。 只要有一个Apache Tomcat实例出现故障,我就得到一个503服务不可用。 请让我知道如何解决这个问题,并testing哪个用户是从哪个tomcat实例。 进行的更改:sites-enabled / 000-default: <Proxy balancer://mycluster> BalancerMember ajp://localhost:8010 route=jvmroute-first connectiontimeout=10 BalancerMember ajp://localhost:8011 route=jvmroute-second connectiontimeout=10 ProxySet stickysession=JSESSIONID Order Deny,Allow Deny from none Allow from all </Proxy> <VirtualHost *:80> ProxyPass / balancer://mycluster/ ProxyPassReverse / balancer://mycluster/ </VirtualHost> 第一个tomcat的server.xml: <Connector port="8080" proxyPort="80" protocol="HTTP/1.1" compression="force" compressionMinSize="1024" connectionTimeout="20000" redirectPort="443" URIEncoding="utf-8" compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"/> <Connector port="443" protocol="HTTP/1.1" […]

坐在FIN_WAIT_1的服务器套接字,而networking没有看到它的stream量

我们一直试图抓住一个奇怪的问题,我们可以在solaris 10上从Apache 2.2.19上find一个页面,并且一些请求的排列可靠地花费各种固定的时间来响应。 它看起来是基于TCP套接字的closures,从客户端上的tcpdump开始,我们通常会看到在填充TCP窗口的服务器与最后一次响应之间的暂停,以及最后一个数据块与FIN从服务器。 所以在networking上它只是挂起了HTTP响应的中间传输,但是服务器上的netstat在FIN_WAIT_1中显示了一个套接字。 我们不能在服务器上做一个tcpdump来澄清,但是在我们看来,操作系统已经把TCP对话交给了硬件,所以相信它已经开始四处closures了,但是NIC从来不放这个包,数据包(可能是1或2 @ 1500字节和400或其他)。 这就像我们可以绘制的一样清晰的图像,除了最近的一个testing,我们做了一个惊人的…一个64076字节的文件由apache提供 – 最后一个包的432ms延迟。 我们给文件添加了一个字符,这导致了一个额外的数据包被创build,53个字节也包含了FIN,而不是我们在略小的文件上看到的空的52字节FIN,延迟的那个文件。 这个额外的数据包的存在可靠地改变了FIN对话的发生,并使对话从几乎半秒到几毫秒。 最常见的是在调查的整个过程中,这个延迟时间为4.6秒,我们再次看到窗口大小在波动,SACK在需要的时候返回到Apache,但是最后一个窗口的时间已经满了,持续46秒,然后回到最后2或3kb的数据,以及Solaris认为它发送的FIN以前。 我们的tcpdumps在F5 BigIP上,所以有一个ASICstream量以及一个Cisco 6509(仅限L2),但是我们在相邻的Solaris机器上执行wget时看到的是相同的用户体验,所以不要不相信BigIP正在做的任何黑魔法。 但是这一切都混淆了窗口大小和MSS和喜欢的混淆,但如果这听起来很熟悉任何人,我们都耳朵!

Apache的反向代理:以下redirect?

是否有可能使apache(2.2)mod_proxy跟随上游redirect(http 301,302)? 通常会configuration一个反向代理,如: ProxyPass /foo http://upstream.example.com/bar ProxyPassReverse /foo http://upstream.example.com/bar 但是,如果upstream.example.com使用redirect进行响应,则客户端将通过upstream.example.com响应。 是否有可能使Apacheredirect直到获得正确的响应,然后才回应客户端?

从5.3.3升级到5.6之后,php不能和apache一起工作

我有一个安装了PHP 5.3.3版的bigrock vps。 我最近升级到PHP版本5.6,因为一些PHPfunction不工作。 现在删除旧的PHP和安装5.6版后,我可以从terminal使用PHP,但我的网站上的文件没有被执行,而是正在下载所有的PHP源代码文件。 我认为,Apache不使用新安装的PHP。 为了解决这个问题,我在httpd.conf文件中添加了这一行: LoadModule php5_module "/usr/bin/php" 这个PHPpath,我通过which php命令。 当我添加这条线,并重新启动Apache它给了我一个警告 [warn] module php5_module is already loaded, skipping 我认为我需要正确地告诉Apache新安装的PHP。

Apache W状态

我们正在运行Apache 2.2.15和PHP 5.3.3 我们有间歇发生的Apache越来越多的进程滞留在发送答复状态。 这似乎是随机发生,将持续大约一个小时左右。 我们不对服务器做任何事情,问题就会消失。 正如我所提到的,当问题发生时,运行“apachectl status”会显示大多数客户端卡在“W” – 发送回复状态。 MySQL也会在睡眠状态下显示一堆连接。 然后新的文物将显示redis响应时间非常高。 我们使用redis作为magentocaching。 我们已经检查了Apache的错误日志,没有什么是不寻常的。 我们build议我们把Apache升级到2.2.31和PHP到5.5,但我们不确定它能解决这个问题。 有任何想法吗? 当问题发生时,我们在PID上做了一个小小的调整,在这里它显示了什么。 这只是重复和重复: poll([{fd=25, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) sendto(25, "*3\r\n$4\r\nHGET\r\n$32\r\nzc:k:e22_Zend"…, 60, MSG_DONTWAIT, NULL, 0) = 60 poll([{fd=25, events=POLLIN|POLLPRI|POLLERR|POLLHUP}], 1, 0) = 0 (Timeout) poll([{fd=25, events=POLLIN|POLLERR|POLLHUP}], 1, 10000) = 1 ([{fd=25, revents=POLLIN}]) recvfrom(25, "$175\r\na:7:{s:3:\"sun\";s:6:\"Sunday"…, 8192, MSG_DONTWAIT, NULL, NULL) = […]

Nginx反向代理被阻止

我们在主域名的子目录中运行一个WordPress博客。 domain.com => Server A (Nginx) domain.com/blog => Server B (Apache) 博客本身位于不同的(便宜的共享主机)服务器上,并被反向代理。 Nginx => Apache 由于对博客的每个请求都通过主服务器传输,所以服务器B不断阻止我们的服务器IP地址,因为所有请求都来自同一个IP。 如果同时发生大量请求(主要是爬虫),我们会被列入黑名单10分钟,导致502错误的网关错误。 有没有办法将真实的IP地址传递给服务器B? 或者知道别人解决scheme,而不升级到根服务器? 在服务器A上托pipewordpress博客,现在可悲的是不是一个选项。

硬化Ubuntu的分割错误

我正在运行Ubuntu Linux 14.04 webserver,并且已经应用​​了grsec补丁。 绝对随机的网站变得无法访问,我看到在dmesg分段错误。 我可以暂时或永久禁用grsec调查进一步服务器的稳定性,当运行没有grsec? grsec: Segmentation fault occurred at 000003e80000113c in /usr/sbin/apache2[apache2:4412] uid/euid:1000/1000 gid/egid:1000/1000, parent /usr/sbin/apache2[apache2:4286] uid/euid:0/0 gid/egid:0/0 grsec: From 127.0.0.1: Segmentation fault occurred at 000003e80000120e in /usr/sbin/apache2[apache2:4622] uid/euid:1000/1000 gid/egid:1000/1000, parent /usr/sbin/apache2[apache2:4286] uid/euid:0/0 gid/egid:0/0 grsec: Segmentation fault occurred at 000003e800001496 in /usr/sbin/apache2[apache2:5270] uid/euid:1000/1000 gid/egid:1000/1000, parent /usr/sbin/apache2[apache2:4286] uid/euid:0/0 gid/egid:0/0

IBM IHS反向代理configuration

我正在尝试使用IBM HTTP服务器来设置一个反向代理,我想要做的是该用户将打开一个HTTP URL到我的反向代理服务器,它将请求内部转发到HTTP服务器。 HTTP地址< – >反向代理(IBM HTTP Server)< – > HTTPS服务器( https://example.com ) 在我的configuration中,我启用了mod_proxy&mod_proxy_http并在ProxyPass下面configuration Proxypass / https://example.com 但是我无法configuration它。 我收到错误: proxy: HTTPS: failed to enable SSL support for example.com 任何人都可以帮助我做错什么。 我也已经加载了下面的模块: LoadModule ibm_ssl_module modules/mod_ibm_ssl.so 谢谢