Articles of apache 2.4

WebDAV和Windows 7,没有写入权限

我用WebDAVconfiguration了我的Apache 2.4.10: DavLockDB "/etc/httpd/var/DavLock" Alias /public "/srv/webdav/public" <Directory "/srv/webdav/public"> Dav On AllowOverride None Options Indexes AuthType Digest AuthName 7ooo AuthUserFile "/etc/httpd/user.passwd" AuthDigestProvider file <Limit GET HEAD OPTIONS PROPFIND> Require all granted </Limit> <LimitExcept GET HEAD OPTIONS PROPFIND> Require user webdav </LimitExcept> </Directory> 所有必需的文件和文件夹都存在并具有适当的权限 如果我使用Windows 7 64位的Windows资源pipe理器连接到WebDAV,则可以读取文件并更改为子目录。 但是,我不能写任何新的或现有的文件。 Windows资源pipe理器只能无限期挂起。 和记事本一样。 我的configuration有什么问题? 奇怪的是,其他WebDAV客户端,如尸体,甚至iPhone应用程序正在完美工作。 另外,如果我只是在LimitExcept子句前面加上“Require all granted”(不限制),那么写入权限就可以正常工作(对所有用户而言,不仅仅是用户“webdav”)。

如何configurationapache的httpd负载平衡的工人,只有不同的path,而不是主机?

如果工作人员只有不同的path,而不是主机,如何configuration在Apache HTTPD的负载平衡? 例如我有公共URL http://www.example.com/myapp ,这应该是负载平衡内部域http://internal.domain.com/myapp1和http://internal.domain.com/myapp2 (相同的主机,不同的path) 更新:问题是,以下configuration(我通常使用)不允许在一个内部主机上的不同path,它适用于每个内部主机有一个上下文/ myapp运行。 ProxyPass /myapp balancer://workers/myapp ProxyPassReverse /myapp balancer://workers/myapp <Proxy balancer://workers> BalancerMember http://internal1.domain.com BalancerMember http://internal2.domain.com </Proxy> 我发现没有办法映射/ myapp internal1.domain.com/myapp1 internal1.domain.com/myapp2 internal2.domain.com/myapp1 internal2.domain.com/myapp2

Python后台任务线程locking错误与mod_wsgi

我有一个构build在Flask框架上的小型python web应用程序,并使用mod_wsgi将其部署到apache。 应用程序正在安排每隔几分钟运行一次apscheduler的后台任务。 从Apache的错误日志,我一直在观察一个错误。 这个错误似乎是在后台任务运行的时候抛出的,但是在之前或之后是不一致的,而且经常会出现在多次之后。 这是错误: Exception ignored in: <module 'threading' from '/usr/local/lib/python3.4/threading.py'> Traceback (most recent call last): File "/usr/local/lib/python3.4/threading.py", line 1289, in _shutdown assert tlock is not None AssertionError: 那个来自python本身的代码是这样的: def _shutdown(): # Obscure: other threads may be waiting to join _main_thread. That's # dubious, but some code does it. We can't wait for […]

我的网站的Apache密码configuration让Google Chrome抱怨

我的网站在我的服务器上(Debian Wheezy,testing版上的Apache 2.4.10)。 我自己configuration​​了Apache,并在阅读了许多讨论这些问题的网站之后,封锁了所有可攻击的密码。我不得不说,这不是我的专长,因为我是物理学家。 所以请原谅我的无知,如果我做了明显错误的事情。 我在Apache中的密码configuration是这样的: SSLProtocol all -SSLv2 -SSLv3 SSLCompression off SSLCipherSuite AES128+EECDH:AES128+EDH 我尝试了一个替代的显式密码configuration,这也给出了同样的问题: SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 ECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS -RC4" 所以问题是Google Chrome(版本42.0.2311.90米)在我打开我的网站的时候会出现惊叹号: 另一方面,在SSLLabs中 ,我得到了非常好的排名,没有任何评论(尽pipe80%的密码的解释是很好的,我应该怎么做才能得到90 +%? 所以我的问题是:我怎样才能让谷歌铬(和其他浏览器)停止抱怨与三angular? 如果您需要任何其他信息,请询问。

如何在使用CloudFlare + Nginx + Apache时logging客户端的真实IP地址

我一直试图解决这个问题,我希望有人能帮助我。 我有Nginx站在Apache面前的反向代理。 我只能在没有CloudFlare的情况下使用Nginx + Apache来使用mod_rpaf模块来logging客户端的真实IP。 然后我决定添加CloudFlare到我的服务器。 现在, CloudFlare IP正在显示,而不是客户端的IP。 我安装了Nginx的 RealIP Module ,我尝试了各种configuration,但没有解决问题。 然后,我安装了mod_cloudflare ,它应该按照CloudFlare上的描述将真实客户端的IPlogging到Apache ,但是这也没有解决问题。 首先,Nginx + Apache的工作configuration如下: Nginxconfiguration: proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; real_ip_header X-Client-IP; mod_rpafconfiguration: LoadModule rpaf_module /usr/local/apache/modules/mod_rpaf-2.0.so <IfModule mod_rpaf-2.0.c> RPAFenable On RPAFproxy_ips 127.0.0.1 #Proxy IPs RPAFsethostname On RPAFheader X-Client-IP </IfModule> 到目前为止,客户的真实IP地址正确显示。 如果有人正在寻找logging真实客户端的IP地址,可以使用上述configuration。 其次,使用CloudFlare与Nginx + […]

Apache 2.4 apachebuddy.pl

我正在尝试使用apachebuddy.pl在CentOS 7上调整Apache2.4.6。 我input以下内容: sudo perl apachebuddy.pl 并得到以下结果。 (#1)(W换行)文件操作试图在一个文件名,该操作失败,可能是因为文件名包含一个换行符,可能是因为你忘了chomp()它关了。 请参阅perlfunc中的“chomp”。 不知道如何解决它。 我谷歌,找不到解决scheme。 有人有build议吗。

使用Tomcat的基本身份validationApache

我有以下服务器设置: Apache Tomcat 7运行Atlassian的Jira( http:// <server-ip>:8081/tickets ) Apache 2.4 web服务器作为反向代理服务器,目前只提供jira应用程序,但还有更多( http://<server-ip>/tickets ) 现在,我想通过设置一个基本的authentication来限制对整个系统的访问(即http://<server-ip>/ * )。 这是唯一启用的Apache网站configuration如下所示: <VirtualHost *:80> <代理*> 要求所有授予 </代理> ProxyRequestclosures ProxyPreserveHost打开 ProxyPass /门票http:// localhost:8081 /门票 ProxyPassReverse /门票http:// localhost:8081 /门票 <位置/> AllowOverride AuthConfig AuthType基本 AuthName“限制内容” AuthUserFile /etc/apache2/.htpasswd 要求用户myuser </位置> </虚拟主机> 但是使用这个configuration,我在尝试login时遇到了一个问题。inputlogin数据后,login窗口popup,再次询问是否login。 经过三次尝试,tomcat返回了401错误! 应用程序,而不是Apache。 对于这个请求,apache的access.log和error.log都没有入口。 虽然Apache会logging错误凭据的请求。 如何configurationApache以将所有/tickets/*请求代理到Tomcat,同时强制客户端在访问/*时进行身份validation?

ubuntu 14.04 Apache 2.4.7 mpm_event文件和FilesMatch不工作

我们最近将我们的Apache 2.4.7模式从mpm_pre-fork切换到mpm_event。 从那以后,我们一直无法让我们的Files指令工作。 <Files "*.php"> Header set Cache-Control "no-cache, no-store, must-revalidate, max-age=0" </Files> 我确实设法解决这个混乱的问题: <Files ~ "((^$)|(php))"> 但是,根据我的正则expression式知识,这将在文件名中的任何位置匹配“php”文件。 我发现需要匹配这个其他问题的“空”情况。 我们也尝试了使用相同结果的FilesMatch 。 这些都不能从我从Apache 2.4文档中得知。 有没有其他人看到这样的问题? 更新 :我把服务器回滚到mpm_preforker和mod_php没有任何改变。 然后我清除了Apache和PHP,重新安装为mpm_preforker,它再次工作。 然后我升级到mpm_event和php-fpm,稍后停止工作。 我正试图隔离它打破的地方,并发布我发现的东西。 更新2 :这似乎与fastcgi或php-fpm的东西有关。 我有两个<Files>指令,一个用于生成唯一标头的html和一个用于php指令: <Files *.html> Header always set X-Aaron-files "html match" </Files> <Files *.php> Header always set X-Aaron-files "php match" </Files> 如果我去一个虚构的php文件,那么我得到一个404消息与php-match头。 但如果我去一个真正的php文件,然后服务器执行PHP文件,但不会返回标头指示一个php文件匹配。

如果缺lessapxs2,如何在CentOS 7上的Apache for python 3.5中安装mod_wsgi?

我目前正尝试在CentOS 7上将mod_wsgi 4.4.21安装到Apache 2.4的Python 3.5 web服务器上。 在“ 快速安装指南 ”中的“configuration源代码”中,它表示: 在某些Linux发行版(如SUSE和CentOS)上,必须使用“–with-apxs”选项并指定“/ usr / sbin / apxs2-worker”或“/ usr / sbin / apxs2-prefork” 。 据我所知,这些应该是与httpd-devel包。 我已经安装了: # rpm -qa | grep httpd httpd-tools-2.4.6-40.el7.centos.x86_64 httpd-manual-2.4.6-40.el7.centos.noarch httpd-2.4.6-40.el7.centos.x86_64 httpd-devel-2.4.6-40.el7.centos.x86_64 但是我在/usr/sbin没有apxs2-worker或apxs2-prefork : # ls /usr/sbin/apxs* ls: cannot access /usr/sbin/apxs*: No such file or directory 但是,我确实在/usr/bin有apxs 。 我可以使用那个,还是有什么我失踪?

将相同的密码套件从Linux上的Apache2克隆到Windows Server 2012r2中的IIS 8.5

预期的结果:在IIS 8.5(新服务器)中具有相同的密码支持,正如我在Apache 2.4(我想从中复制受支持的密码的服务器)中所支持的那样。 ssllabs.com信息:Apache 2.4提供了强大的FS支持和支持Android 2.x的A +评级。 IIS 8.5,玩耍时,我可以得到一个“现代浏览器”FS的评级,或者没有Android 2.x支持的A +评级。 与密码相关的Apache 2.4 conf params: SSLProtocol -all -SSLv3 +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite -LOW:AESGCM:AES:!kRSA:!kPSK:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!ADH SSLStrictSNIVHostCheck Off SSLCompression off SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire SSLHonorCipherOrder on 什么是Windows Server 2012r2上的IIS 8.5的等效密码列表,以下是Apache2.4(linux)套件。 Windows中的可用密码名称位于Apache2下面的密码列表之后。 Apache2密码列表(按实力顺序排列) ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=DSS […]