Articles of apache 2.4

重复的最大年龄标题

我正在使用Apache 2.4.25使用代理传递公开一些后端服务。 Apache还会根据MIMEtypes设置caching控制标头。 当前的cachingconfiguration如下所示: ExpiresActive on ExpiresDefault "now" ExpiresByType text/html "now" ExpiresByType image/gif "access plus 120 minutes" ExpiresByType image/jpeg "access plus 120 minutes" ExpiresByType image/png "access plus 120 minutes" ExpiresByType text/css "access plus 60 minutes" ExpiresByType text/javascript "access plus 60 minutes" ExpiresByType application/x-javascript "access plus 60 minutes" ExpiresByType text/xml "access plus 60 minutes" ExpiresByType application/javascript […]

Apache 2.4与Kerberos身份validation和LDAP授权

我正在尝试使用Kerberos身份validation和LDAP组成员身份validation来设置Apache SVN存储库,以便只有属于特定组的用户才能访问它。 自己的Kerberos身份validation工作正常,就像LDAP本身一样。 但是我想以这种方式将它们结合起来,这样我就没有纯文本凭据绑定到apacheconfiguration中的LDAP目录。 我目前的configuration(不起作用)是: LDAPVerifyServerCert Off <Location /svn01> DAV svn SVNParentPath /var/www/svn01 AuthType Kerberos Authname "Test Repo" KrbMethodK5Passwd On KrbAuthRealms KOUKOU.LOCAL KrbSaveCredentials On KrbServiceName HTTP Krb5KeyTab /etc/httpd/conf.d/svnusr.http.keytab AuthLDAPUrl ldaps://ad01.koukou.local:636/dc=koukou,dc=local?krbPrincipalName Require ldap-group CN=admins,CN=Users,DC=koukou,DC=local </Location> 我在互联网上看到过这种configuration,但这对我不起作用。 我在浏览器中得到的是“未经授权”,并在Apache错误日志中得到: [Thu Mar 02 09:55:21.817559 2017] [authnz_ldap:debug] [pid 10314] mod_authnz_ldap.c(838): [client 172.21.11.13:57737] AH01711: auth_ldap authorise: User DN not found, User […]

漂亮的URL服务器端configuration?

我已经把一个网站转移到了我们的新VPS。 它在旧的服务器上工作得很好。 我想我知道是什么导致了这个问题,但不知道在哪里解决。 我已经阅读了很多关于漂亮url的post,似乎大部分都是使用mod_rewrite解决scheme。 看着我的.htaccess文件,它不是这样设置的。 它可能甚至不是漂亮的URL,完全叫做别的东西。 我们的VPS运行WHM / Cpanel 服务器版本: Apache / 2.4.25(cPanel)OpenSSL / 1.0.1e-fips mod_bwlimited / 1.4 Apache 2.4,PHP 5.5,PHP 5.6和PHP 7.0 CENTOS 7.3 x86_64 virtuozzo – 服务器WHM 62.0(内部版本16) 我遇到了URL和.htaccess的问题。 以下是当前.htaccess文件的内容: Options -All SymLinksIfOwnerMatch MultiViews #AllowOverride None Order allow,deny Allow from all DirectoryIndex index 当我去到网站时,我得到: 内部服务器错误 服务器遇到内部错误或configuration错误,无法完成您的请求。 请与网站pipe理员的服务器pipe理员联系,通知他们发生此错误的时间,以及您在此错误发生之前执行的操作。 有关此错误的更多信息可能在服务器错误日志中可用。 此外,尝试使用ErrorDocument处理请求时遇到500内部服务器错误错误。* 当我删除.htaccess文件中的一切,然后网站出现,但是当我点击一个链接说它没有find。 (在代码中,它不使用.php扩展名,所以它没有find页面。) 它在旧服务器上的工作方式是不使用.php扩展名。 所以,而不是http://www.example.com/make01.php它只是http://www.example.com/make01 […]

Apache Kerberos身份validation:KDC不支持encryptiontypes

我在这个问题上发布一个新的线程,因为我在这里find的所有解决scheme都不适合我。 我试图configuration一个apache2通过keytab在AD2012服务器上使用Kerberos进行身份validation。 首先,我激活了AD中的所有encryptionmsDS-EncryptedSupportedTypes 这是我的客户端(debian) krb5.conf : [logging] default = FILE:/var/log/krb5.log [libdefaults] default_realm = REALM.LOCAL kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true # for testing purpose only allow_weak_crypto = true default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 [realms] REALM.LOCAL = […]

在Apache上使用SSL之后意外的内存使用情况

我们最近将我们的网站转换为https 。 证书安装和testing之后,我们在.htaccess中创build了301redirect。 事情进展良好,几乎没有明显的性能影响。 第三天或第四天,我们遇到了OOM问题。 在接下来的几天里,我们会看到相同的模式重复。 在上午9点15分左右(当我们的服务器开始看到增加的负载),我们的内存使用率会上升,并经常导致服务器终止memcached或mysql。 这很难理解,因为我们今天晚些时候会看到更多的使用情况(每次谷歌分析),而且根本没有任何问题。 Server Version: Apache/2.4.25 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 PHP/5.5.38 Server MPM: prefork Start servers: 10 Min spare servers: 5 server limit: 256 max request workers: 256 max connections per child: 2500* keep alive: on keep alive timeout: 1 我降低了最大连接数,因为我们注意到在问题期间,每个孩子的内存使用量似乎大大增加了。 每个孩子的每个RES通常为25000k。 在压力期间,它超过50000K。 所以我有一个想法,我想增加新的孩subprocess产生的频率。 不清楚这是否有所作为。 我们已经检查了所有的cron工作,以确保在压力期间没有特别的计划。 添加ssl是否会为apache创build更多的mem用法? 为什么只在这个特定的时间 – 甚至不在我们最繁忙的时间附近(尽pipe可能是使用量增长最多的时间)。 更新。 […]

服务器达到MaxRequestWorkers设置

新的8 GB专用服务器在高峰时间和Apache error.log中停止工作,发现以下错误: [mpm_prefork:error] [pid 7565] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting [mpm_prefork:notice] [pid 7565] AH00169: caught SIGTERM, shutting down 该网站运行在PHP 7.1.2,Apache / 2.4.10(Debian),根据本教程安装的FPM / FastCGI 经过一番研究之后,我修改了/etc/apache2/mods-available/mpm_prefork.conf ,但仍然在服务器高峰期间出现故障并保持相同的错误。 mpm_prefork.conf的最后更新是: <IfModule mpm_prefork_module> StartServers 20 MinSpareServers 5 MaxSpareServers 10 MaxRequestWorkers 1024 ServerLimit 1024 MaxConnectionsPerChild 0 </IfModule> 这个问题让我担心的是,无论mpm_prefork.conf有什么值,大约6GB的Ram总是空闲的。 我假设一些文件覆盖/etc/apache2/mods-available/mpm_prefork.conf和服务器忽略这个文件,如果没有,那么我肯定写了不适当的设置。 您能否介绍一下如何configurationmpm_prefork.conf文件或者哪些文件可以覆盖这个文件?

当大型file upload时,后端发送401时,Apache 2.4发送502错误

使用Apache 2.4.25(Windows)和后端服务器Tomcat 8(Windows)。 我们有一些客户端软件可以使用HTTPS在通过Apache代理到Tomcat的authentication会话上上传文件。 但是,如果未使用已validation的会话(或会话超时),则后端Tomcat服务器将发送HTTP 401响应。 但是,Apache向客户端返回502错误。 Tomcat访问日志: 127.0.0.1 – – [21/Apr/2017:18:30:38 +0000] "POST /upload/10507.wav HTTP/1.1" 401 39 Apache访问日志: 10.8.21.23 – – [21/Apr/2017:18:30:27 +0000] "POST /upload/10507.wav HTTP/1.1" 502 232 14030 Apache错误日志: [Fri Apr 21 18:30:39.770715 2017] [proxy:error] [pid 33652:tid 120896] (OS 10053)An established connection was aborted by the software in your host machine. : [client […]

根目录下的Apache + mod_auth_tkt + mod_rewrite + mod_proxy

我有一个运行在Apache服务器后面的Tomcat服务器上的Web应用程序,我使用mod_proxy将请求从httpd转发到tomcat服务器。 httpd服务器正在使用mod_auth_tkt进行身份validation,将有关用户的信息存储在环境variablesREMOTE_USER中。 我把这个variables从httpd传递给使用mod_rewrite的tomcat服务器,将其保存为头(X-Forwarded-User)。 ProxyPass设置为 httpd_server/app/ -> tomcat_server/app/ 这是vhost.conf: <Location /> RewriteEngine On RequestHeader unset X-Forwarded-User RewriteCond %{LA-U:REMOTE_USER} (.+) RewriteRule .* – [E=RU:%1,NS] RequestHeader add X-Forwarded-User %{RU}e </Location> <IfModule mod_proxy.c> ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /app/ http://127.0.0.1:8084/app/ ProxyPassReverse /app/ http://127.0.0.1:8084/app/ </IfModule> 这完美的作品。 但是,如果尝试将ProxyPass更改为 httpd_server/ -> tomcat_server/app/ 所以把vhost.conf改成: ProxyPass / http://127.0.0.1:8084/app/ […]

php_value使用前端控制器覆盖Apache

我正在尝试为用于上传文件的虚拟path设置特定的服务器端值。 我所有的URL都是虚拟的,请求由前端控制器调度。 我在我的网站的唯一.htaccess文件中有以下configuration: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^ index.php [L] </IfModule> 由于upload_max_filesize不能用ini_set设置,我需要使用.htaccess文件或Apache .conf来覆盖这个设置。 考虑到我没有真正的文件/文件夹来放置.htaccess ,我认为唯一的方法是使用Apache .conf 。 我尝试了几种使用<LocationMatch> , <Location>甚至<FilesMatch>但是不知道如何使其工作。 下面是我的网站的vhost.conf样子: <LocationMatch "upload"> php_value upload_max_filesize 60M </LocationMatch> <Directory "/mysite/documentroot"> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> 我的理论是,因为我的网站使用一个单一的FrontController,在redirect后应用<Location>规则,所以不可能从Apache端做到这一点。 除非我错过了什么,解决这个问题的最好方法是请求PHP端的function改变,以允许使用ini_set改变这些设置?

带有ProxyPass到node.js服务器的Apache VirtualHost拒绝工作('无法parsing主机名')

我在我的Mac上运行本地Apache进行开发,并且还有运行在http://127.0.0.1:8000/ node.js服务器。 我使用Apache项目的.dev域,并希望.node域redirect到node.js服务器。 我有虚拟主机设置如下: <VirtualHost *.dev:80> VirtualDocumentRoot "/www/sites/%1/wwwroot" ServerName sites.dev ServerAlias *.dev UseCanonicalName Off </VirtualHost> <VirtualHost *.node:80> ServerName sites.node ProxyPass "/" "http://localhost:8000" ProxyPassReverse "/" "http://localhost:8000" </VirtualHost> 但是,当我尝试应用这些设置时,出现错误: [core:error] [pid 8594] (EAI 8)nodename nor servname provided, or not known: AH00547: Could not resolve host name *.node — ignoring! 我应该注意到, .dev域可以按照预期工作,并且node.js服务器可以在http://localhost:8000/ ,只是不在http://test.node/ 。 我在这里错过了什么?