Articles of httpd.conf

Apache的mod_deflate不压缩的JavaScript和CSS文件?

"GET /Symfony/web/app.php/app/dashboard HTTP/1.1" 4513/37979 (11%) "GET /Symfony/web/css/application.css HTTP/1.1" -/- (-%) "GET /Symfony/web/js/application.js HTTP/1.1" -/- (-%) "GET /Symfony/web/js/highcharts.js HTTP/1.1" -/- (-%) "GET /Symfony/app/Resources/public/img/logo.png HTTP/1.1" -/- (-%) 不知道我的configuration是否有问题,但对css和js没有压缩,对我来说似乎很陌生 。 然而,css和js都已经被缩小了。 这里是在cong / httpd.conf中的Apache相关部分: # Deflate AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType […]

VirtualHost默认在重新启动时错误部署

我们有一个运行七个域/子域的服务器。 为了尽可能less地尝试,我将包括其中四个。 example.com www.example.com dwf.example.com chris.example.com 服务器在90%的时间内都工作得很好,但偶尔我们会得到更多的请求,数据库服务器也会closures。 这然后最大的apache连接,因为所有的数据库连接正在等待超时。 一切顺利,我们强制重新启动数据库,连接恢复。 但是,这些请求将进入dfw.example.comconfiguration。 该部署没有我们的代码库,这是一个大问题,我不明白为什么发生这种情况。 在这种情况发生的时候,它也一直在进行部署,而我们从来没有任何其他的5。 从我读的文档中,我认为Apache通过httpd.conf文件读取并查找第一个NamedVirtualHost匹配: 现在,当请求到达时,服务器将首先检查是否使用了与NameVirtualHost匹配的IP地址。 如果是,那么它将查看每个具有匹配的IP地址的<VirtualHost>部分,并尝试find一个ServerName或ServerAlias与所请求的主机名相匹配的部分。 如果find一个,那么它使用该服务器的configuration。 如果找不到匹配的虚拟主机,则将使用与IP地址匹配的第一个列出的虚拟主机。 我们正在运行Apache 2.2.15。 我认为与httpd.conf文件相关的部分是: Listen 80 Listen 255.255.255.255:443 … ServerName www.example.com …(这是确切的顺序,www(https / http),dfw,然后所有其他版本) NameVirtualHost www.example.com:80 <VirtualHost www.example.com:80> ServerAdmin [email protected] DocumentRoot /var/www/html/www.example.com ServerName www.example.com DirectoryIndex index.html DirectoryIndex index.php LogLevel notice ErrorLog /var/log/httpd/www.example.com/error.log CustomLog /var/log/httpd/www.example.com/access.log w3c_extended </VirtualHost> NameVirtualHost www.example.com:443 <VirtualHost […]

Apache中基于名称的虚拟主机

我在configuration基于名称的虚拟主机时遇到了一些麻烦。 我可以用一个空白的httpd.conf文件启动“service apache2 start”服务器,并且它将运行在所有指向/ var / www的地方。 当我填写httpd.conf时: # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/kevins_playground ServerName home.coolkev.com # Other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot /www/flatline_and_co ServerName www.flatline_and_co.com # Other directives here </VirtualHost> 运行“service apache2 start”时出现此错误 […]

Apache HTTPd:怎么可能显示“连接太多”

我想限制在我的apache httpd服务器(mpm_prefork)上允许的客户端数量。 当达到客户端的数量时,我想显示一个自定义的错误消息,如“错误503:连接太多”。 定制是可能的使用: ErrorDocument 503 "Sorry, too many connexions." apache httpdconfiguration“MaxClients”排队所有客户端(直到ListenBackLog到达)而不是返回en错误信息。 =>当达到客户端数量时,如何提高错误503?

Apache:是否可以ErrorLoglogging主机名而不是IP地址?

在几乎只有DHCP客户端的低负载int ra网上有不同的Apache服务器,我们需要logging主机名而不是IP地址。 由于DHCP环境非常dynamic,以后任何将IP重新映射到主机名的尝试都很可能会产生错误的结果。 虽然我们有“ HostnameLookups On ”,但只有访问日志乖乖logging主机名,但ErrorLog不会。 阅读ErrorLogFormat ,我注意到没有%h ,只是%a (意思是“客户端IP地址和端口”)。 那么真的没有办法让Apache也logging错误日志中的主机名…?

通过LANnetworking从另一台计算机访问本地主机(xampp) – 如何?

我刚在家里build立了一个Wi-Finetworking。 我的桌面计算机上有所有的文件(192.168.1.56),并且要从另一台计算机(192.168.1.2)上访问本地主机。 在我的桌面上,我可以通过正常的http:// localhost访问本地主机 。 Apache像往常一样在端口80上运行。 到底要做什么才能做到这一点? 网上有文档,但是他们要么不工作,要么太碎片化,难以理解。 我想我必须改变我的Apache的httpd.conf文件和hosts文件。 任何想法,作出什么样的改变?

又一个(13)权限拒绝了Apache2服务器上的错误

我只是无法弄清楚。 我在Ubuntu 10.04 i386服务器上运行apache2。 每当我访问我的服务器(有一个IP地址,并连接到互联网与静态IP xxx.xxx.xxx.xxx),这不是问题)在浏览器, mysub.domain.edu (在这里重命名),我得到以下: Forbidden You don't have permission to access /index.html on this server apache2错误日志证实了这一点: [Mon Apr 18 02:38:20 2011] [error] [client zzz.zzz.zzz.zzz] (13)Permission denied: access to / denied 我会尽力在下面提供所有必要的信息: 1)/etc/apache2/httpd.conf的内容 DirectoryIndex index.html index.php 2)/ etc / apache2 / sites-available / default的内容 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/myusername/htdocs <Directory /> […]

如何在url中重写'%25'

我的网站软件用URL中的“+”字符replace空格字符,正确的链接看起来像“ http://www.schirmacher.de/display/INFO/How+to+reattach+a+disk+to+XenServer ”例如。 有些网站链接到这篇文章,但不知何故,他们的embedded式编辑器无法处理编码,所以我在httpd日志文件中看到的其实是 GET /display/INFO/How%2525252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 这当然会导致404错误。 看来“+”字符被编码为“%2b”,然后“%”字符被编码为“%25” – 几次。 由于有很多这样的引用来自不同网站的不同网页,我想重写url,以便访客得到正确的页面。 这是我的尝试不起作用: RewriteRule ^(.*)%25(.*)$ $1%$2 [R=301] 它应该做的是:将%25string之前的所有内容以及所有之后的所有内容与中间的'%'连接起来,然后redirect。 用规则应该重写的示例inputURL /display/INFO/How%25252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 其次是redirect,然后重写 /display/INFO/How%252bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 并再次 /display/INFO/How%2bto%2525252breattach%2525252ba%2525252bdisk%2525252bto%2525252bXenServer 等等。 最后,我应该离开了很多redirect之后 /display/INFO/How%2bto%2breattach%2ba%2bdisk%2bto%2bXenServer 这是一个有效的url等同于/ display / INFO / How + to +重新附加+ a +磁盘+到+ XenServer。 我的问题是,expression式根本不匹配,所以它甚至不会replace%25的单个匹配项。 我知道redirect的数量是有限制的,我真的应该使用[N]标志,但是我甚至没有正确的第一步。 本·李:谢谢你的详细解答。 我现在在这个问题上花了几个小时。 这是我发现的: 在mod_rewrite看到之前,url中的任何'%25'string都被转换为'%'。 所以RewriteRule ^(。 )%25(。 )$在url中不匹配'%25',它实际上匹配'%2525'。 反斜杠的存在并没有什么不同。 看来'%'符号在我的情况下不被解释为反向引用,也许是因为之前没有RewriteCond语句。 但是可以肯定的是,使用它可能会更好。 具有[L,R = 301]的行不正确。 它会尝试重新定向每个%2b的匹配,但是有一个允许的redirect的限制,如果有更多的redirect将会失败。 […]

运行一个没有扩展名的文件作为CGI脚本在/ cgi-bin之外

看来我是第一个想做这个的人…用lighttpd解决起来真的很容易,但是用apache这个看起来是不可能的。 基本上我想运行一个cgi文件没有扩展outsite cgi-bin。 现在不幸的是,如果我在AddHandler cgi-script filename下设置文件名,apache会忽略它。 另一种select是使用SetHandler cgi-script标记整个目录,但是忽略该目录和子目录中的静态文件。 我如何说服apache 2.4把一个确切的文件作为一个CGI文件?

在RHEL中重新启动httpd服务返回“停止httpd:” – 我该如何解决这个问题?

这是我的一个问题的第一个迹象: $ sudo /sbin/service httpd restart Stopping httpd: [FAILED] Starting httpd: no listening sockets available, shutting down Unable to open logs [FAILED] 我知道httpd正在运行 $ ps -ef | grep httpd | grep -v grep apache 9619 20181 0 07:08 ? 00:00:03 /usr/sbin/httpd apache 10092 20181 0 Jan24 ? 00:00:07 /usr/sbin/httpd apache 13086 20181 0 06:09 ? […]