我正在使用Ubuntu 14.04,并且有多个Apache HTTP VirtualHosts在端口80上侦听。一个站点是在本地主机上侦听的应用程序的反向代理。 Apache具有为该站点上的根位置configuration的基本身份validation。 这里是Apacheconfiguration: <VirtualHost *:80> DocumentRoot /home/korisnik/site Alias /static /home/korisnik/site/static <Directory /home/korisnik/site/static> Require all granted </Directory> ProxyPass /static ! ProxyPass / http://127.0.0.1:9002/ ProxyPassReverse / http://127.0.0.1:9002/ RequestHeader set X-Proxy-USER %{REMOTE_USER}e # RequestHeader set X-Proxy-SECURE-USER %{REMOTE_USER}s RequestHeader set X-Foo "Bar" <Location /> AuthType Basic AuthName "Authentication Required" AuthUserFile "/home/korisnik/htpasswd" Require valid-user </Location> </VirtualHost> 我的目标是通过ENVvariables将已通过身份validation的用户的用户名传递给后端应用程序,并且这在一个在Apache中启用了SSL模块的服务器上工作,而在另一个服务器上的相同configuration下,HTTP_X_PROXY_REMOTE_USER […]
我使用FreeBSD 9.2-RELEASE和apache24-2.4.10_2软件包。 [root@alexus ~]# uname -a FreeBSD alexus.org 9.2-RELEASE-p5 FreeBSD 9.2-RELEASE-p5 #0 r265974: Wed May 14 07:57:04 PDT 2014 [email protected]:/usr/obj/usr/src/sys/R610 amd64 [root@alexus ~]# httpd -V | head -1 Server version: Apache/2.4.10 (FreeBSD) [root@alexus ~]# 我试图启用TLSv1.2并且在重新启动apache24服务时出现以下错误: SSLProtocol all -SSLv2 -SSLv3 +TLSv1 +TLSv1.2 [root@alexus /usr/local/etc/apache24/Includes]# service apache24 restart Performing sanity check on apache24 configuration: AH00526: Syntax error […]
我升级了我的Ubuntu到14.04 LTS和Apache到2.4。 当服务器第一次启动时,我得到403错误访问页面。 这是当我知道我需要改变Require all granted 。 我以为我有一切工作,直到我意识到.htaccess没有被加载到任何地方。 我认为还需要改变,但Apache文档说,从我能find的没有问题。 以下是我Directory规则。 VirtualDocumentRoot /var/hosts/%-2.0.%-1.0/%-3+/public_html <DirectoryMatch "^/var/hosts/[^/]+/[^/]+/public_html"> Options FollowSymLinks AllowOverride All Require all granted </DirectoryMatch> 我的第一个想法是正则expression式是错误的,没有规则被加载。 所以我评论了Require all granted并看到它停止再次加载网站。 所以我知道这是加载它们。 我不得不做下面的工作。 <Directory /var/hosts/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> 我可以离开它吗? 任何想法,为什么它不工作?
我有一个网站,任何人都可以访问,但是一个目录应该请求http授权。 我在website.conf中添加了以下几行: <Directory /var/www/website/serverside> AuthType Basic AuthName "Login please" AuthUserFile /var/www/website/serverside/.htpasswd Require valid-user </Directory> <Directory /var/www/website > Allow From All Satisfy All AllowOverride None </Directory> 但即使我访问根页面,它也会请求密码! 我该如何解决?
我是pipe理运行在Debian 7.8上的Apache 2.4.9 Web服务器的团队的一部分。 我们遇到了一个用户网站的问题: www.example.com/~user 当我们尝试访问这个URL时,一个页面加载了以下内容: 内部服务器错误 服务器遇到内部错误或configuration错误,无法完成您的请求。 请联系服务器pipe理员webmaster @ localhost,并告知他们错误发生的时间,以及您可能已经犯的错误。 有关此错误的更多信息可能在服务器错误日志中可用。 Apache / 2.2.22(Debian)服务器,位于www.cpdee.ufmg.br端口80 而在/var/log/apache2/error.log我find这个: [Fri Apr 03 11:36:36 2015] [alert] [client 179.214.195.80] /home/web/user/.htaccess: Options not allowed here 如果我再查看/home/web/user/.htacces文件的内容,那么就是这个configuration行: Options -Indexes 经过快速的研究,我觉得这个问题与Apache的虚拟主机configuration有关。 具体来说, 本教程指出可以通过在/ etc / apache2 / sites-enabled / 000-default的“AllowOverride”列表中添加“Options”来解决该问题,如下所示: <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Options Order allow,deny allow […]
我试图build立一个也代理LDAP基本身份validation的Apache代理: <IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ProxyPass / http://localhost:8080/ nocanon ProxyPassReverse / http://localhost:8080/ ProxyPreserveHost On ProxyRequests Off AllowEncodedSlashes NoDecode RequestHeader set X-Forwarded-Proto "https" RequestHeader set X-Forwarded-Port "443" <Location /> AuthType Basic AuthName "LDAP Login for access" AuthBasicProvider ldap AuthLDAPBindDN USER@DOMAIN AuthLDAPBindPassword PASSWORD AuthLDAPURL ldaps://FQDN:636/CN=..,OU=..?uid?sub Require valid-user </Location> ProxyPass在没有AuthType Basic部分的情况下工作,但是,如果合并,BasicAuth会要求input凭据,然后服务器会抛出一个500错误,而不会在他的error.log 我错过了什么?
我尝试使用Percona xtraDB Cluster for MySQL复制和HAproxy来设置HA集群以实现负载平衡。 HAproxy对于apache非常有效,当apache崩溃或者没有响应时,HAproxy会在另一个节点上进行切换。 我的问题从MySQL开始,我也在相同的HAproxy中设置MySQL,但是当MySQL没有响应时,HAproxy不会切换到另一个节点。 然而,HAproxy看到,MySQL检查HAproxy状态MySQL服务器closures时,不响应原因。 我的问题是,是否有可能在HAproxy中设置两个资源? 他可以检查apache是否启动,如果没有启动另一个节点,检查MySQL是否启动,如果没有则启动另一个节点? HAproxy.conf: […] frontend redmine bind 192.168.7.149:80 reqadd X-Forwarded-Proto:\ http default_backend redmine frontend redmineS bind 192.168.7.149:443 ssl crt /etc/ssl/private/quipment.fr.pem reqadd X-Forwarded-Proto:\ https default_backend redmine backend redmine 192.168.7.149:80 redirect scheme https if !{ ssl_fc } mode http balance roundrobin option http-server-close timeout http-keep-alive 3000 option forwardfor cookie […]
我有一个Apachenetworking服务器,我们正在准备通过FTP / S为客户提供更方便的HTTPS协议上传的数据。 目前,我正在使用mod_authnz_external来允许用户进行身份validation,但一旦通过身份validation,用户就无法在主目录中看到“其他”权限设置为零的文件。 我不确定为什么会出现这种情况,因为如果用户通过身份validation,我希望他们能够看到他们自己的用户和组拥有的文件。 要解决这个问题,我也尝试将Apache用户的www-data添加到所有用户命名的组(作为辅助组),他们有权限读取自己的主目录中的文件。 但是,这不允许用户在login网站时看到他们自己的文件,但是如果我通过“www-data”获得shell访问权限并从terminal浏览主目录,我可以查看这些文件。 我需要知道我可能做错了什么,以及如何通过Apache服务用户主目录的内容而不必授予他人许可的最终结果。 任何帮助,这是非常感谢,谢谢。
apache error.log中的这个错误是什么,以及如何解决这个问题? [Sat Jul 25 09:23:11.961977 2015] [proxy_fcgi:error] [pid 4448:tid 140445816444672] [client 127.0.0.1:57067] AH01068: Got bogus version 54, referer: https://domain.tld/board/3-z%C3%BCchten/ [Sat Jul 25 09:23:11.962064 2015] [proxy_fcgi:error] [pid 4448:tid 140445816444672] (22)Invalid argument: [client 127.0.0.1:57067] AH01075: Error dispatching request to : (passing brigade to output filters), referer: https://domain.tld/board/3-z%C3%BCchten/
为了确保没有可以通过.htaccess利用的安全弱点,我们如何看到Apache可以通过像SetHanlder和AddHandler这样的指令来使用所有可能的处理器。 我知道我可以通过查看mod_info的输出或通过configuration文件进行grepping(这是我在find这个问题的答案时发现的一种方法)来find一些,但这并不意味着没有可用的处理程序这样列出。 我想我可以下载和searchApache的所有源代码和每个已加载的模块,看看他们正在注册什么,但有没有更好的方法? 一个快速的解决办法是不允许在.htaccess中的AddHandler和SetHandler,但是它有缺点。 例如,Drupal对SetHandler指令有一个有效的用例,因为它将它用作深层防御的一部分,以防止某人以某种方式通过file upload器将其上载到站点时运行PHP脚本。 以下是我所指的一些例子: AddHandler server-parsed .shtml SetHandler server-info AddHandler application/x-httpd-php5 .php 如果有人感兴趣的话,可以从网站/ default / files / .htaccess得到Drupal的用例: # Set the catch-all handler to prevent scripts from being executed. SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006 <Files *> # Override the handler again if we're run later in the evaluation list. SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003 </Files> 编辑2015年7月30日:这不是一个详尽的答案,但万一它有助于任何人,我发现一些处理程序列在http://httpd.apache.org/docs/2.4/handler.html顶部,也阅读自定义处理程序可以通过Action指令创build(请参阅http://httpd.apache.org/docs/2.4/mod/mod_actions.html#action )。 编辑2015年9月1日:我不知道是否有一些方法来转储一个httpd进程的内存,并find那里的处理程序名称。 […]