Articles of httpd.conf

htaccess的vrs httpd.conf?

如果您可以使用httpd.conf,是否应该使用htaccess文件仍然是真的? Apache网站上说:“一般来说,你不应该使用.htaccess文件,除非你没有访问主服务器configuration文件。” 但是我不知道这个build议多大年纪,或者这个build议还是相关的。 我正在一个只使用httpd.conf文件的大型网站上工作。 但是这个过程非常漫长,当然需要重新启动。 随着主站点下运行的部门站点的数量(以及所有使用httpd.conf文件),这是一个不利的变化。 现在我们正在运行wordpress 3(多站点configuration)。 我想testingconfiguration规则的一些更改,但目前我唯一能做的就是继续重新启动apache,我不想在活动网站上做这些。 (特别是重写规则似乎在一些博客文章被“www”所占据,而另一些则不是) 我正在考虑在wordpress文件夹中启用.htaccess,但这是明智的吗? 我们的服务器很忙(根据谷歌的说法,每天大约有6万页的浏览量),但是没有太费劲。 目前的最佳做法是什么? 服务器现在是否足够令人担忧,与轻松pipe理.htaccess文件相比,可能轻微的性能下降是可以忽略的?

只允许POST方法用于目录中的特定文件

我有一个只能通过POST方法访问的文件。 /var/www/folder/index.php 文档根目录是/var/www/和index.php嵌套在一个文件夹中。 Apache的版本是:2.4.4。 我的configuration如下: <Directory "/var/www/folder"> <Files "index.php"> order deny,allow Allow from all <LimitExcept POST> Deny from all </LimitExcept> </Files> </Directory> 我访问我的服务器在127.0.0.1/folder文件夹,但我可以GET和POST文件就像正常。 我也尝试了颠倒顺序, order allow,deny ,要求,限制和限制。 我怎样才能允许一个文件夹中的文件处理POST请求?

在Apache2上设置IPv6

目前我有以下内容的“ports.conf”: NameVirtualHost *:80 Listen 80 <IfModule mod_ssl.c> Listen 443 NameVirtualHost *:443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> 所以要添加IPv6,我必须将其更改为: NameVirtualHost 91.64.99.215:80 Listen 91.64.99.215:80 NameVirtualHost [2a01:4f8:140:54e4::3]:80 Listen [2a01:4f8:140:54e4::3]:80 <IfModule mod_ssl.c> Listen 443 NameVirtualHost 91.64.99.215:443 NameVirtualHost [2a01:4f8:140:54e4::3]:443 </IfModule> <IfModule mod_gnutls.c> Listen 91.64.99.215:443 Listen [2a01:4f8:140:54e4::3]:443 </IfModule> 它是否正确? 我的恐惧是,如果我这样做的话,所有的鬼都成立了 <VirtualHost *:80> ServerName www.domain.tld ServerAlias domain.tld DocumentRoot /www/domain </VirtualHost> 会疯狂的。 如果情况并非如此,那么做 […]

在Apache 2.4上捕获所有HTTPS Vhost

是否可以在Apache 2.4上configuration全部(默认)HTTPS Vhost? 我目前有4个域名和一个HTTP捕获所有,但只要我尝试添加任何types的configuration我的其他虚拟主机破坏。 这是我的configuration看起来像: <VirtualHost _default_:80> # Default catch-all virtual host. Redirect permanent / https://example-prod.com </VirtualHost> <VirtualHost _default_:80> ServerName example-prod.com ServerName www.example-prod.com Include conf/sites/example-prod.com.conf </VirtualHost> <VirtualHost _default_:80> ServerName example-dev.com Include conf/sites/example-dev.com.conf </VirtualHost> # # This is the virtual host I'm missing and that I cannot get to work. # #<VirtualHost _default_:443> # # Default […]

我的VPS上有2个不同的Apache安装吗?

我是新来的服务器维护,并且正在Ubuntu 14.10上运行我刚刚设置的VPS上的Apache 2.4。 由于以下原因,似乎在机器的不同位置安装了两个不同的Apaches。 当我运行sudo /usr/local/apache2/bin/apachectl start后跟ps -A我得到这个: 4408 ? 00:00:00 httpd 4409 ? 00:00:00 httpd 4410 ? 00:00:00 httpd 4411 ? 00:00:00 httpd 它使用类似的方式更新错误日志/usr/local/apache2/logs/error_log [Sat Feb 14 00:16:49.963014 2015] [mpm_event:notice] [pid 4542:tid 140160010012544] AH00489: Apache/2.4.12 (Unix) mod_wsgi/4.4.8 Python/2.7.8 configured — resuming normal operations [Sat Feb 14 00:16:49.963260 2015] [core:notice] [pid 4542:tid 140160010012544] AH00094: Command […]

在/etc/httpd/conf.d下添加configuration文件时,是否需要重新启动/重新加载apache?

在/etc/httpd/conf.d下添加configuration文件时,是否需要重新启动/重新加载Apache? 我知道编辑httpd.conf需要重新启动或重新加载,但不确定放置在conf.d中的文件是否需要重新启动apache。 谢谢您的帮助 编辑:我的印象是除了/conf.d将需要一个常规/平稳的重新启动,但几次configuration文件我已经添加到该目录作出了一个效果,而不必重新启动。 这就是导致我问这个问题的原因。

加载Apache头文件模块,但不能在htaccess中设置头文件

我有Apache 2.2.29(Unix)设置和运行在我的新开发机器(MAC)。 我正在尝试为一个API项目设置CORS头文件 – 我已经做了很多次了。 该项目的htaccess文件如下所示: <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, PATCH, DELETE" Header set Access-Control-Allow-Headers "X-Accept-Charset,X-Accept,Content-Type" ServerSignature Off </IfModule> <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /cms/public RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC] RewriteRule (.+) index.php?p=$1 [QSA,L] </IfModule> 和头文件模块加载我的conf: LoadModule headers_module libexec/mod_headers.so 该模块文件存在于apache conf中显示的位置,并且被加载OK: […]

使用ServerName作为httpd.conf文件中的variables

我目前的httpd.conf文件看起来像这样: <VirtualHost *:443> DocumentRoot /var/www/html/www.example1.com ServerName www.example1.com SSLEngine on SSLCertificateFile /var/www/ssl/www.example1.com/certificate.crt SSLCertificateKeyFile /var/www/ssl/www.example1.com/private.key SSLCACertificateFile /var/www/ssl/www.example1.com/bundle.crt </VirtualHost> <VirtualHost *:443> DocumentRoot /var/www/html/www.example2.com ServerName www.example2.com SSLEngine on SSLCertificateFile /var/www/ssl/www.example2.com/certificate.crt SSLCertificateKeyFile /var/www/ssl/www.example2.com/private.key SSLCACertificateFile /var/www/ssl/www.example2.com/bundle.crt </VirtualHost> 我希望能够将“ServerName”存储在某种types的variables中,以便能够简化文件(如下所示): Define server_name = ServerName <VirtualHost *:443> DocumentRoot /var/www/html/${server_name} ServerName ${server_name} SSLEngine on SSLCertificateFile /var/www/ssl/${server_name}/certificate.crt SSLCertificateKeyFile /var/www/ssl/${server_name}/private.key SSLCACertificateFile /var/www/ssl/${server_name}/bundle.crt </VirtualHost> 有什么办法可以做这样的事吗? 我环顾四周,找不到任何解决办法,但我可能会采取错误的做法。

Apache(Linux)httpd监听链接本地IPv6地址

我希望Apache在特定的接口上监听链路本地ipv6地址。 我有我的httpd.conf中的以下行: Listen [fe80::a00:16ff:fe89:420f]:80 这是基于这里的Apache文档: https : //httpd.apache.org/docs/2.4/bind.html “IPv6地址必须括在方括号” 我的操作系统/ Apache版本详细信息如下: $ httpd -v Server version: Apache/2.4.18 (Unix) Server built: Dec 14 2015 08:05:54 $ uname -rv 4.3.3-3-ARCH #1 SMP PREEMPT Wed Jan 20 08:12:23 CET 2016 使用journalctl -e显示的结果是: (22)无效参数:AH00072:make_sock:无法绑定到地址[fe80 ….. IPv6正在工作,因为我有sshd和dnsmasq监听。 我已经尝试追加两个不同的作用域ID后缀到地址。 您可以在ping6和sshd使用接口标识3或名称net1作为scopeid。 $ ip addr | grep -Po "^\d: \S+" 1: lo: 2: […]

有关httpd.conf AllowOverride设置的安全问题

我在一个网站上工作,我将需要在.htaccess中使用重写命令。 它不工作,最后追溯了我需要设置的问题 在我的Apache httpd.conf中“AllowOverride All” 我想知道是否有任何安全问题,当我从“AllowOverride None”更改为“AllowOverride All”时,我应该知道? 谢谢!