Articles of httpd.conf

问题与httpd设置子域

嘿,我有一个问题让我的子域出现,我正在使用HTTPD,并已经build立了我的conf.d witht他以下 <VirtualHost *:80> ServerName wp.{domain}.com SetEnvIfNoCase HOST ^wp\.{domain}\.com\.?(:80)?$ PROTECTED_HOST DocumentRoot /var/www/html/wp.{domain}.com LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/wp.error.log CustomLog ${APACHE_LOG_DIR}/wp.access.log combined DirectoryIndex index.php SetEnv APPLICATION_ENV development <Directory /var/www/html/wp.{domain}.com/> AuthUserFile /root/htpasswd AuthType Basic AuthName "Password Protected" Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=!PROTECTED_HOST </Directory> </VirtualHost> 我也把这个放在我的httpd.conf中 我的主机文件如下所示 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 […]

用httpd.conf和mod_proxy_ajpparsing两个tomcat实例到两个不同的目录

请原谅我对这个话题的无知。 我已阅读,search和search,我仍然挣扎着我的设置。 我想设置我的httpd.conf允许一个域,有两个目录parsing到两个不同的tomcat实例。 www.example.com/first <VirtualHost "ip address":80> ServerName example/first ErrorLog /var/log/httpd/first_error.log CustomLog /var/log/httpd/first_access.log combined <Proxy *> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ </VirtualHost> www.example.com/second <VirtualHost "ip address":80> ServerName example/second ErrorLog /var/log/httpd/second_error.log CustomLog /var/log/httpd/second_access.log combined <Proxy *> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyPass / ajp://localhost:8010/ […]

我如何允许访问一个实际上是RewriteRule匹配的apache目录?

我们有一个有很多域名的服务器。 每个域都有一个或多个我们希望通过IP保护的pipe理区域: domain.tld / admin(pipe理员区域) domain.tld / blog / wp-admin(博客子目录中的WordPresspipe理区域) domain.tld / wp-admin(wordpress admin区域) 这是我们用来保护所有站点上所有这些的Apacheconfiguration的一个片段: <Directory ~ "^/home/user/apache/[^/]+/public/((blog/)?wp\-)?admin"> AllowOverride All Order Deny,Allow Deny from all Allow from 123.45.67.89 23.45.67.89 34.56.78.90 </Directory> 这限制了上述文件夹中的任何一个只能被这些IP地址查看。 对于大多数网站和博客,这完美的作品。 但是,在一个小网站上,这是行不通的。 我认为这可能是不同的是,该网站上的admin文件夹实际上并不存在,而是一个RewriteRule匹配从索引页面提供该页面。 有点奇怪的是, 它阻止/admin并给出了一个403错误,但它不允许列在Allow from规则的IP。 为什么目录匹配和拒绝,但不允许? 这是预期的行为? 我怎样才能解决这个问题?

如何组织Apache网站的configuration文件

我正在寻找一种方法来组织构成启用apache站点的configuration的文件。 假设我在我的networking服务器上有站点A,B和C. 这些站点具有不同的DocumentRoot和不同的RewriteRule以及不同的身份validation要求。 由别名和目录上下文定义。 我在一个基于Debian的服务器上。 我想要一个http和https版本的A,B和C. 对于VirtualHost ServerName www1.myhome.com; 我想为A和B服务 对于VirtualHost ServerName www2.myhome.com; ,我想服务B和C. 我如何避免重复A,B和C的configuration? 我试图用不同的forms使用包含。 包括例如A的configuration到不同的虚拟主机,但我发现文件path的问题麻烦。 特别是它不允许我去a2ensite A 。 此外,它使解决configuration文件是一个麻烦。 这一切都是从Apache2.2迁移到Apache2.4的一部分。 有没有很好的解决这个问题? configuration站点A. B和C在结构上相似。 Alias /A /srv/rootA/ <Directory /srv/rootA/> // Unique stuff for A // In particular Auth and rewrite rules </Directory>

为每个虚拟主机提供不同的字符集

在一个centos服务器6.5上,apache 2.2.15是否可以将多个字符集服务到不同的虚拟主机? 我知道设置默认的字符集是通过添加到httpd.conf文件中完成的: AddDefaultCharset UTF-8 然而,我们有一些网站需要使用ISO-8859-1进行编码,但Symfony提供的其他网站需要使用UTF-8进行编码。 是否有可能为每个虚拟主机添加一个默认字符集,或者是否需要使用.htaccess文件来完成?

下面的apache conf文件的安全含义是什么?

我有一种情况,我想通过子域访问时共享代码库。 sub1.example1.com共享sub1.example2.com example1.com和example2.com都有虚拟主机文件。 我已将example1.com的文档根目录更改为与example2.com相同。 但是这导致了suPHP的问题。 为了解决这个问题,我在下面添加了以下指令来解决suPHP问题。 它的工作正义,我不完全确定的安全问题,或者如果有什么? 添加指令(添加到example1.com虚拟主机的包含文件中) DocumentRoot /home/example2/sub1 <IfModule mod_suphp.c> suPHP_UserGroup example2 example2 ( changed from example1 example1 ) </IfModule> <IfModule !mod_disable_suexec.c> <IfModule !mod_ruid2.c> SuexecUserGroup example2 example2 ( changed from example1 example1 ) </IfModule> </IfModule> 我希望这是有道理的。 谢谢 乔

Apache“随机”丢失VirtualHostconfiguration

我希望有人能够解释这个问题,我没有在别处解决的运气。 我们正在运行一个用于基本负载平衡的Apache(2.2.15)服务器,但最终使用ProxyPass指令到我们的各种后端服务器。 问题似乎是Apache“随机”不再具有正确加载的特定虚拟主机文件(或者更可能是我们在不知不觉中造成这种情况),并且我们正在看到来自Apache的404s或代理错误。 在error_log中没有错误,我也确认httpd -S仍然显示虚拟主机加载,但好奇的是,如果我发出一个httpd重新加载,它又开始工作。 该服务器有〜2GB的可用内存。 我们在我们的httpd.conf文件中包含了vhosts / active指令,并且在那个目录中有符号链接到实际的vhostconfiguration文件(不要相信这是相关的但是想要透露),而且我们正在加载大约40个不同的vhost CONFIGS。 下面是一个例子,从一个特别的发生相对比较顺利(也可能值得一提的是,似乎只有像这样的确定的虚拟主机文件): <VirtualHost 10.10.0.77:80> ServerName url.mysite.com ServerAlias url Options +FollowSymLinks ProxyPreserveHost On ProxyPass / http://hostname.internaldomain.local:8081/ ProxyPassReverse / http://hostname.internaldomain.local:8081/ </VirtualHost> <VirtualHost 10.10.0.77:443> ServerName url.mysite.com ServerAlias url RewriteEngine On SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLCertificateFile /etc/httpd/conf/ssl/mycert.com.crt SSLCertificateKeyFile /etc/httpd/conf/ssl/mycert.key SSLCertificateChainFile /etc/httpd/conf/ssl/mycert_chain.crt Options +FollowSymLinks ProxyPreserveHost On ProxyPass / http://hostname.internaldomain.local:8081/ […]

如何为IP地址别名

我有一个网站托pipe在本地服务器(CentOS 5.x)(主机名:xxx.yyy.local,IP:192.168.5.25)。 我可以浏览从我的本地networking在浏览器中键入服务器IP的网站。 如何获得“ http://192.168.5.25/support ”的别名?例如: http:// mycompanysupport ? 请注意,这仅适用于内部networking。 我不想在我的networking之外访问这个网站。

Apache – 取消一个指令

有没有办法“解开”一个任意的Apache指令,比如通过逐字重复,而是用Unset或前面的东西来Unset呢? 举例来说,在服务器configuration级别上我有: ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1" 在虚拟主机之一,我希望能够像下面这样: Unset ScriptAliasMatch "^/cgi-bin(.*)" "/usr/local/apache/cgi-bin$1" 如果这个指令有一个特定的方法,那么我对这个指令很感兴趣(我能想到的最好的方法就是通过mod_rewrite来阻止对这个模式的访问),但是我特别感兴趣的是,一个方法来解决,因为这可能是方便了解未来。

VirtualSAMLPHP的虚拟主机

我想在我的apache2上安装SimpleSAMLPHP,我在服务器configuration方面没有太多的经验,需要询问这是否适用于虚拟主机设置: <VirtualHost *:80> ServerName service.mywebsite.ca DocumentRoot “/home/mywebsite/public_html” Alias /simplesaml /var/simplesamlphp/www </VirtualHost> 基本上我需要所有的要求 service.mywebsite.ca/simplesaml 打到默认的simplesamlphp安装目录。 服务器上有很多其他服务由别人设置,所以我需要确保它不会破坏任何东西。