Articles of apache 2.4

阿帕奇量子不确定性原理…如果指令是真的和假的

环境variables的值在bash中设置: # export PRODUCTION=true # echo $PRODUCTION # true 这里是我的虚拟主机文件的相关摘录: <If "-T osenv('PRODUCTION')"> Define dogs dogs </If> <Else> Define cats cats </Else> apache2ctl -S产生: Define: dogs=dogs Define: cats=cats 因此,我们有一个量子条件是真的和假的 。 这里发生了什么事情,如何使其正常运行? 我在这些引用中找不到任何内容,表明我做错了什么。 apache if-else Apache的庇护所运营商

ProxyHTMLEnable设置为ON时禁用超链接

我正在使用逆向代理( proxypass和proxypassreverse )背后的应用程序。 当我将ProxyHTMLEnable设置为ON时,我不明白为什么超链接被禁用(不可点击)。 请注意,涉及的页面包含: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 当我检查日志时,我发现这个消息: 非HTML内容; 不插入代理的HTMLfilter 更新: 这就是代理背后的样子: 这就是它应该是这样的: 请注意,由于相对path,我正在使用ProxyHTMLEnable。 当我这样做,它正常工作: ProxyPass /myapp http://192.168.1.55:8080/myapp Keepalive=On timeout=600 ProxyPassReverse /myapp http://192.168.1.55:8080/myapp 当我这样做,它不会: ProxyPass /testenv/ http://192.168.1.55:8080/ Keepalive=On timeout=600 ProxyPassReverse /testenv/ http://192.168.1.55:8080/

在发送到cgi处理程序之前修改文件

我正在做一个Apache的可移植安装来运行Bugzilla。 这个安装有一个Perl的可移植版本,这是我想mod_cgi使用的一个。 但是,mod_cgi没有任何方式来configuration预期的二进制文件(或每个文件types的二进制文件),所以它依赖于shebang来知道要执行什么。 我的问题是这样的:Bugzilla的perl文件有一个指向#!/usr/bin/perl -T的shebang,因为我在Windows上(不幸的是没有任何事情可以做到) ,我想使用特定的Perl发行版对于服务器,我需要修改shebang。 我知道我可以事先运行一个Perl脚本,只是用指向正确的二进制文件replace所有的shebang,但我更喜欢一个更强大的解决scheme。 我想到filter和mod_lua,但Apache和它的模块似乎没有钩子或指令,允许在发送到cgi进程之前处理文件。 他们只能处理客户端发送的请求或最终的输出,然后再发送回客户端。 在发送到cgi进程之前,有没有办法使用Apache或模块处理文件? 有没有办法让cgi进程认为我的目标perl实际上在/usr/bin/perl ?

从url中删除?= collcc

Google网站pipe理员工具已通知我有太多重复的url。 有些参数已添加,我不知道,我需要删除它,例如: http://example.com/5454/my-utr.html http://example.com/5454/my_url.html?collcc=3067605522& 这在Google上被标记为重复的url。 我怎样才能阻止?=collcc或使用.htaccess删除它。 或者最好删除只是?collcc=和redirect到正常的URL与.htaccess ? 我知道我可以阻止在robots.txt文件,但我需要干净的url,仍然在谷歌索引,所以我需要删除只是查询collcc 。 我努力了: RewriteCond %{QUERY_STRING} collcc= RewriteRule (.*) http://my-site.com/$1? [R=301,L]

带有多个QUERY STRINGS的mod_rewrite

这是我的问题https://serverfault.com/a/761474/77231的扩展 我正在尝试向URL添加一个额外的QUERY STRING参数,并将空格更改为下划线,但没有成功。 而不是简单地改变: http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some.machinename.com 至: http://somedomainname.com/grafana/dashboard/db/generic-ping?var-device=SF-some_machinename_com 我试图改变一个额外的参数,如: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some.machinename.com&var-check=Check CPU Load 至: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_machinename_com&var-check=Check_CPU_Load 在我以前回答的问题中使用相同的逻辑,我能够得到第一部分工作使用: RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*) RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3 [R=301] 但是,这显然只是让我的第一部分,并出现如下: http://somedomainname.com/grafana/dashboard/db/generic-check?var-device=SF-some_computername_com&var-check=Check%2520CPU%2520Load 我已经添加了一个额外的QUERY_STRING和重写规则,如: RewriteCond %{QUERY_STRING} ^&var-check=(.*)\ (.*)\ (.*) RewriteRule ^&var-check var-check=%1_%2_%3 [R=301] …没有成功。 我也试过把两者结合起来: RewriteCond %{QUERY_STRING} (.*)\.(.*)\.(.*)&(.*)\ (.*)\ (.*) RewriteRule ^/grafana/dashboard/db/generic-check /grafana/dashboard/db/generic-check?%1_%2_%3&%4_%5_%6 [R=301] ..也没有成功,以及使用%20 \s和%2520而不是\和一个空格…以及像\ |\s|%20|%2520这样的pipe道分隔符。 理想情况下,我希望在一次重写中完成这项工作,但是我很乐意让它工作。 任何帮助表示赞赏。

一个IP地址和多个虚拟主机的通配符证书(Windows,Apache 2.4.2,OpenSSL 1.0.2e)

我已经search和search,但我找不到解决我的问题,所以很抱歉,如果这听起来很熟悉,但我很茫然。 我有: Windows环境 Apache 2.4.2 OpenSSL 1.0.2e 一个IP地址(开发盒:127.0.0.1) 多个虚拟主机(www.site.co.uk,sub.site.co.uk等) 来自Comodo的真正的域validation通配符证书 我需要为我的所有虚拟主机使用通配符证书。 我已经使用openssltesting了站点/证书,并validation了它。 当使用80端口的标准HTTP时,所有的站点工作正常。 当我启用httpd-ssl.conf时,我开始陷入困境。 我已经看到并尝试了几个http-ssl.confconfiguration的例子,但都导致间歇性连接失败,即Firefox:“ 安全连接失败 ”,IE11:“ 无法显示此页面 ”。 但是 ,如果我刷新页面(在每个浏览器中)页面显示,我可以看到证书是有效的。 从我读到的,它指向不正确的configurationhttp-ssl.conf,但我已经尝试了Mozilla SSLconfiguration生成器( https://mozilla.github.io/server-side-tls/ssl-config -generator / ),很多stackoverflow的答案,但仍然没有喜悦。 这是我目前的httpd-ssl.conf文件: Listen 443 https SSLStrictSNIVHostCheck off SSLPassPhraseDialog builtin SSLSessionCache "shmcb:C:/Apache2.4/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLProtocol All -SSLv2 -SSLv3 SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS <VirtualHost 127.0.0.1:443> ServerName www.site.co.uk ServerAlias www.site.co.uk DocumentRoot C:\WebServer\Apache2.4\htdocs\www.site.co.uk SSLEngine On […]

HTTP到HTTPS与mod_rewrite; Apache需要重启

我刚刚注册,这是我的第一个问题。 如果我需要在别的地方问问,请告诉我。 我们需要为SSLconfiguration站点,并将所有HTTP通信redirect到HTTPS。 我们决定使用mod_rewrite,因为我们已经使用了一些重写规则。 这些变化在我们的开发环境中进行了testing,并且按预期工作。 我们对生产进行了改变,发现它工作了几个小时,但最终开始失败,网站变得不可用。 一旦Apache服务重新启动,该站点恢复。 不幸的是,它不会持久,最终需要重复。 有人提到我的一些指导,说mod_rewrite不build议,并使用VirtualHosts来代替。 我想了解为什么这是首选的方法,并希望find我们遇到的问题的根源。 我们刚刚closures了重写规则,网站在443和80上都稳定下来。 https://wiki.apache.org/httpd/RewriteHTTPToHTTPS “注意:使用mod_rewrite来做到这一点不是推荐的行为” https://wiki.apache.org/httpd/RedirectSSL “虽然推荐这个解决scheme是因为它更简单,更安全,但也可以使用mod_rewrite来获得与此处所述相同的效果” 有没有人知道为什么这是build议通过mod_rewrite的具体细节? 类似的经验? 关于下一步的build议? Apache 2.4.18 在Windows Server 2008 R2上运行 我们尝试了MaxConnectionsPerChild 0和其他值没有区别。 我看到MaxConnectionResetsPerChild在“中断”期间到达,这些重置似乎不能解决问题..而不是手动重新启动Apache服务/父进程。 RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https//wontletmepostlink.duetorep/1$ [R,L]

我是否易受POODLE伤害?

域名: burian-server.cz 我试过了: user@pc ~ $ curl -v -3 -X HEAD https://burian-server.cz * Rebuilt URL to: https://burian-server.cz/ * Hostname was NOT found in DNS cache * Trying 192.168.0.102… * Connected to burian-server.cz (192.168.0.102) port 443 (#0) * successfully set certificate verify locations: * CAfile: none CApath: /etc/ssl/certs * SSLv3, TLS handshake, Client hello (1): * […]

是否有可能通过ApacheredirectVPNstream量

在我的实验室里有一个Apache服务器。 只有80端口被打开。 我可以在上面安装软件。 是否可以安装一些VPN工具并通过ApacheredirectVPN通信? 换句话说,我的VPN客户端发送一个类似于“ https:// webserver / VPN ”的请求,Apache收到它并将数据传送到同一台机器上的VPN服务器,然后把这个响应转发给我的VPN客户端。 可能吗?

Ubuntu的Apache https连接需要很长时间

我有一个Apache服务器14.04与Apache和大量的容量。 今天,服务器花了很长时间来build立https连接。 今天的主要变化是交通量的增加。 我无法find有关错误的确凿信息。 一旦连接完成,处理请求的速度非常快。 http中的相同请求速度非常快,这是服务器中许多站点的问题。 你可以通过做检查差异: curl http://osvaldo.pt curl https://osvaldo.pt 这是来自我的浏览器的图像