Articles of apache 2.4

HTTP身份validation在httpd.conf中的.htaccess AND中被忽略

我最近发现,我的本地计算机上的一些开发网站(Windows 10 / Apache 2.4)在networking上可见时,他们不应该。 这个问题与这个问题类似,但是由于没有提供解决scheme(在post中提出的所有问题都被检查过,并被证实是正确的),所以我在问自己的问题。 以下是相关文件的相关摘录: httpd.conf中: # directory and file names obfuscated intentionally <Directory "P:/HTTP/{hidden}"> AllowOverride All AuthType Basic AuthName "Private Content – Authorized Use Only" AuthUserFile P:/.htpasswd Require valid-user </Directory> .htaccess(在P:/ http / {hidden}) AuthType Basic AuthName "You must log in to view this site." AuthUserFile P:/.htpasswd Require valid-user (注意:为了协助debugging,每个AuthName条目的设置都是不同的) 我知道正在处理.htaccess文件,因为如果我添加一个会导致错误的行,说错误发生,但是当没有错误发生时,我仍然不会得到一个HTTP身份validationlogin。 该网站刚刚出现。 […]

apache 2.4 + gitlab + letsencrypt不能正常工作

我使用以下configuration在所有虚拟主机上启用letsencrypt支持: ProxyPass /.well-known/acme-challenge ! Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/ <Directory "/var/www/letsencrypt/.well-known/acme-challenge/"> Options None AllowOverride None ForceType text/plain RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)" </Directory> 这适用于所有主机(主要是php或静态网站),除了gitlab 我使用这个configuration: https : //github.com/gitlabhq/gitlab-recipes/blob/master/web-server/apache/gitlab-ssl-apache24.conf 我的猜测是这个configuration部分是一个问题: <Location /> # New authorization commands for apache 2.4 and up # http://httpd.apache.org/docs/2.4/upgrading.html#access Require all granted #Allow forwarding to gitlab-workhorse ProxyPassReverse http://127.0.0.1:8181 ProxyPassReverse http://YOUR_SERVER_FQDN/ </Location> 但是解决这个问题的最好方法是什么?

无法将Apache服务器状态页面限制为localhost

我在Ubuntu上使用Apache 2.4.18。 我想只允许从本地主机读取服务器状态。 在/etc/apache2/mods-enabled/status.conf我有: <Location /server-status> SetHandler server-status Require ip 127.0.0.1 </Location> 我已阅读https://httpd.apache.org/docs/2.4/howto/access.html和从我相信上述configuration应该工作。 我重新启动了Apache,以确保新的configuration处于活动状态。 然而,状态页面仍然可以从任何地方阅读。 在/etc/apache2/sites-enabled/mysite.conf我有: DocumentRoot /var/www <Location /> Require all granted </Location> 我的configuration有什么问题?

Apache集群+ Tomcat websocket

我们最近使用以下configurationconfiguration了一个新的群集: www.mydomain.com | APACHE + MOD_JK (AJP) Load Balancer / \ Tomcat1 Tomcat2 所有请求都通过HTTPS完成,两个tomcat实例通过DeltaManager使用SessionReplication。 集群和所有的wep应用程序工作得很好。 现在,这些webapps中的一个需要使用WSS://协议的WebSockets,而且我得到这个exception java.lang.UnsupportedOperationException:此协议不支持HTTP升级 有没有人知道是什么原因造成的?

如何在Apache中创build虚拟虚拟主机以避免caching中毒

为了避免caching中毒,我被要求在我的Apache Web服务器上创build一个虚拟的虚拟主机,以便所有伪造的请求(实际上并不涉及到我的应用程序)都会去虚拟的虚拟主机。 以下是我目前的虚拟主机: <VirtualHost *:*> DocumentRoot "cache location" ServerName myappname </virtualHost> 我试图创build一个虚拟的虚拟主机,服务器名称为*,并具有不同的caching位置。 这是我试过的: <VirtualHost *:*> DocumentRoot "another cache location" ServerName * </virtualHost> 我如何testing我的虚拟虚拟主机configuration的工作原理,是否需要修改我的configuration?

Apache 2.4,mod_proxy_fcgi不尊重.htaccess,解决需要

我使用mod_proxy_fcgi的Apache 2.4.7的目的是通过PHP传递到PHP-FPM(这将用于共享主机环境)。 htaccess对非php文件工作正常,但是一旦它碰到通过php请求代理的重写规则,htaccess将被忽略。 我知道为什么会发生。 问题是:我如何解决它? 这个问题如何强制apache处理请求到php文件作为本地文件的请求,然后通过代理? 我花了大量时间研究这个问题,并给出了“答案”作为解决scheme: 1)“使用Apacheconfiguration,而不是.htaccess”这是有效的解决scheme,但不是共享主机环境(我不打算给共享托pipe客户访问Apacheconfiguration))。 2)“不要使用.htaccess,因为它有性能/安全/其他问题”,那么共享托pipe客户将如何控制其网站上的访问/url重写? 除此之外,如果.htaccess不是一个要求,我会简单地使用nginx。 3)“把代理里面的重写规则” – 这是不正确的,它不起作用。 这种行为似乎不是一个错误,而是一个“function”,根据https://issues.apache.org/bugzilla/show_bug.cgi?id=54887

由于权限错误,PHP无法保存会话

我知道这个问题以前一定是被问过(而且回答过)的,但是在这些问题中我找不到解决问题的办法。 这有点奇怪…问题是我的PHP脚本(和我的Apache服务器)不能写入我的系统上的文件夹。 一点也不。 例如,运行脚本时出现以下错误: 致命错误:带有消息“Zend_Session :: start() – /var/www/subdomains/vmb/vendor/zendframework/zendframework1/library/Zend/Session.php(Line:482)”的未捕获exception“Zend_Session_Exception”:错误#2 session_start ():open(/ var / www / subdomains / vmb / application /../ var / session / sess_ingph33ir4shr1e60kkifp37s7,O_RDWR)失败:Permission denied(13) 我有一个VPS的CentOS 7,Apache2.4,PHP5.6(它与Apache的PHP MOD)和其他一些东西。 Apache以用户apache和组apache运行(在httpd.conf文件中设置)。 我将/etc/php.ini和/etc/httpd/conf.d/php.conf的session_path设置为/tmp/phpsessions ,将chown'd / chmod这个文件夹设置为apache:apache 777.以上示例存储在另一个文件夹中的会话(也是chown'd / chmod,如apache:apache 777),但是我得到了其他文件夹的相同错误。 所以我的apache服务器运行为apache:apache,我把文件夹转换为apache:apache,我需要,甚至777权限Apache无法写入这些文件夹。 你有没有见过这样的事情? 我以前没有…

禁止您无权访问/ cgi-bin / mailman /

我刚刚从Ubuntu服务器升级到14.0.4 LTS,我不能再通过Web界面访问Mailman。 我得到一个403禁止的错误(禁止:你没有权限访问/ cgi-bin / mailman /)。 我已经几次了解了Apacheconfiguration,并没有看到这个问题。 我正在运行Apache 2.4.7和Mailman 2.1.16。 这是我的/etc/mailman/apache2.conf中的configuration。 我不知道还有什么地方要看这个。 它可能是一个虚拟主机问题? # Logos: Alias /images/mailman/ /usr/share/images/mailman/ # Use this if you don't want the "cgi-bin" component in your URL: # In case you want to access mailman through a shorter URL you should enable # this: #ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ # In this […]

内容安全策略是否与Joomla的pipe理页面不兼容?

我想为在Apache 2.4上运行的Joomla网站设置一个内容安全策略头。 在h5bp中使用这个configuration并设置Header set Content-Security-Policy "script-src 'self'; object-src 'self'" src'self Header set Content-Security-Policy "script-src 'self'; object-src 'self'" src'self Header set Content-Security-Policy "script-src 'self'; object-src 'self'"为我提供了一个空白页面,用于loginwww.example.com/administrator/的Joomlalogin页面。 我怎样才能使用这个政策,并仍然login? 检查控制台,错误消息是: 内容安全策略:该页面的设置阻止了自我加载资源(“script-src http://www.example.com ”)。 pipe理员页面完全由example.com提供,没有第三方内容。 除了策略设置的login页面上的空白页面之外,该网站完美地工作。 检查/pipe理员页面的源代码,它看起来是完全普通的,除了JS没有运行。 完整页面源的副本在这里 。 因为我将example.com列入了“script-src'self'; object-src'self'”我希望这个页面可以呈现,但我明显错过了一些东西。 我现在重新testing了一个新的VPS和没有定制的Joomla干净安装。 设置内容安全策略并重新启动Apache会立即重现问题 – 浏览器中出现伴随控制台错误的完全空白pipe理页面,抱怨阻止资源加载的策略。 改变"script-src 'self' src'self "script-src 'IP:AD:DR:ESS' src'example.com "script-src 'example.com'或"script-src 'IP:AD:DR:ESS' src'IP "script-src 'IP:AD:DR:ESS'不会帮助,所有的脚本都会被封锁。 任何想法如何得到这个工作或进一步排除故障?

我可以查看Apache正在使用的parsingconfiguration吗?

有没有办法查看运行Apache实例正在使用解决任何/所有包括之后使用的最终“有效”configuration? 我正在查看一个configuration,它包含一个包含networking的Web,并且怀疑我遇到的一些问题与所有事情的顺序有关。 我认为这是apachectl,可以validationconfiguration没有语法错误,但我想知道如果我可以进一步,并以某种方式输出完全组装的configuration。 任何build议(清理这个混乱包括应该永远不会被允许发生)?