Articles of Apache的2.4

是否有一个Apache2指令明确设置目录列表403 Forbidden?

是否有一个指令明确设置没有索引文件的目录列表为403 Forbidden? 由于mod_dir找不到索引文件,默认行为将返回404。 我没有加载mod_autoindex , Options设置为FollowSymLinks 。 我试过 – -Indexes ,但是还是返回了404。 <IfModule dir_module> DirectoryIndex index.php index.html index.htm DirectorySlash On </IfModule> <Directory /var/www> Options FollowSymLinks AllowOverride None Require all granted </Directory> 我不应该担心,但我使用Apache 2.4。

试图在Apache上设置HTTP2

我已经安装了Apache 2.4.18 $ sudo add-apt-repository ppa:ondrej/apache2 $ sudo apt-get update $ sudo apt-get upgrade 在ssl.conf中,我停用了SSLv2和SSLv2,并保持全部启用: SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384$ SSLProtocol all -SSLv2 -SSLv3 在https部分下的vhost文件中添加: Protocols h2 http/1.1 重新启动Apache后我得到错误日志,mod_http2已被初始化没有任何其他错误 [Fri Jan 29 20:31:58.829149 2016] [http2:info] [pid 20952] mod_http2 (v1.0.11, nghttp2 1.6.0), initializing… 访问网站(https)将在Chrome和Safari上使用http / 1.1。 在Safari上也有一个带有h2值的升级头。 任何提示如何使网站使用http2,我被烧毁了。

所有Apache 2.4“AH”代码的解释在哪里?

使用Apache 2.4 httpd,我开始看到这样的日志消息: [mpm_prefork:notice] [pid 1521] AH00163: Apache/2.4.10 … [core:notice] [pid 1521] AH00094: Command line: '/usr/sbin/apache2' 我可以推断这两者的含义,但是我希望有一个来源列出所有这些“AH”代码及其含义。 那个来源在哪里?

Apache 2.4中的htaccess目录保护

我试图解决如何保护Apache 2.4中的文件夹。 我有这部分工作正常: AuthUserFile /home/test/web/site.com/cgi-bin/hotels/admin/.htpasswd AuthGroupFile /dev/null AuthType Basic AuthName Protected require valid-user …但是我也想添加让我无需login的选项。 这是我在我的旧服务器上: Order Deny,Allow Deny from all Allow from 123.123.123.123 Satisfy Any 但是新的给出了一个错误: client denied by server configuration: /home/test/web/site.com/cgi-bin/hotels/admin/admin.cgi 看看https://wiki.apache.org/httpd/ClientDeniedByServerConfiguration ,我会认为这将工作: Require all denied Allow from 123.123.123.123 Satisfy Any …但它似乎并不(现在甚至不要求login,即使我将接受的IP更改为随机的IP) 我错过了什么?

带有和不带“.c”扩展名的apache模块有什么区别?

我在Ubuntu 14.04上运行apache v2.4,并有这个格式的容器/指令 <IfModule mpm_prefork_module> # … </IfModule> 不过,我经常在apache官方文档和stackexchange站点中看到这样的模块: <IfModule prefork.c> # … </IfModule> 我搜查了很多,包括这里 – http://httpd.apache.org/docs/2.4/mod/core.html#ifmodule和我无法find什么区别是什么时候应该被用于其他? 以重写模块为例 从apache 文档:ifmodule指令 模块参数可以是模块标识符或模块的文件名,在编译时。 例如,rewrite_module是标识符,而mod_rewrite.c是文件名。 而且在.htaccess文件中看到这个很常见 <IfModule mod_rewrite.c> # …. </IfModule> 我的grep '编辑我的/etc/apache2目录和“mod_rewrite.c”没有定义任何地方。 在我的机器上的文件/etc/apache2/mods-available/rewrite.load 包含: LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 所以是mod_rewrite.c对Windows /其他文件的引用? 在这种情况下在Linux机器上引用它将是不正确的语法?

参数文件中的无效Mutex目录:$ {APACHE_LOCK_DIR}

当我从命令行运行apache2(运行命令,而不是服务),我有这样的: [Thu Mar 13 12:18:05.594522 2014] [core:warn] [pid 9268] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined [Thu Mar 13 12:18:05.594732 2014] [core:warn] [pid 9268] AH00111: Config variable ${APACHE_PID_FILE} is not defined [Thu Mar 13 12:18:05.594807 2014] [core:warn] [pid 9268] AH00111: Config variable ${APACHE_RUN_USER} is not defined [Thu Mar 13 12:18:05.594867 2014] [core:warn] [pid 9268] AH00111: […]

如何让Apache在提供特定文件types后运行另一个脚本

我正在试图find最好的方法来使Apache在提供具有特定扩展名(或更好的是,预定义的正则expression式path)的文件之前或之后运行脚本。 更具体地说,我想要在我的服务器上获取所有对MP4文件的请求,同时触发一个简短的PHP脚本来获取请求URI,并将其发送到外部日志logging服务。 我接受其他类似的select,但我希望: 事实之后,避免采用这种方法来处理Apache日志本身。 避免必须通过我的脚本stream式传输文件。 我发现mod_action看起来很有希望,但据我所知,这是一个脚本, 而不是实际的文件, 除了它之外。 任何援助提前非常感激。

显示目录索引而不是在尝试configurationShiny时正在运行的应用程序

我似乎无法正确configuration我的Apache 2.4服务器上的Shiny。 我使用了一个别名来指示/shiny/到/srv/shiny-server/所以去myserver/shiny/显示“Welcome to Shiny Server!” 页面( index.html ),因为它应该。 但是,在这个页面上,右侧有一个面板,在下面标有 – 当您的服务器上正确configurationShiny时,您会看到上面的Shiny应用程序。 而不是显示一个Shiny的应用程序,它显示索引的/shiny/样本应用程序/你好(名称,最后修改,大小和描述) (道歉,我会包括这个图像,但不能这样做没有先决条件声望) 我花了一些时间阅读pipe理指南build议,并在Stack Overflow看这个答案 ,但我不明智。 有什么明显的可能是这种types的错误的原因? 有没有其他信息可以提供帮助? 我很抱歉,我对Linux,Apache和Shiny很新,所以这是一场艰苦的斗争。

FilesMatchconfiguration来限制文件扩展名

在Ubuntu 14.04 LTS上运行apache 2.4.7服务器时,我遇到了Internet安全中心(CIS)推荐的configuration设置“限制文件扩展名”的问题。 其基本思想是(1)限制所有文件,然后(2)只允许访问要提供的文件types。 MAIN_APACHE2.conf文件的相关部分包括以下内容: <Directory /> Require all denied AllowOverride None Options None <LimitExcept GET HEAD OPTIONS> Require all denied </LimitExcept> </Directory> <FilesMatch "^.*$"> Require all denied </FilesMatch> 包含的V_HOST.conf文件在相关部分包括以下内容: DocumentRoot /var/www/html <Directory /var/www/html> Require all granted <FilesMatch "^.*\.(htm)$"> Require all granted </FilesMatch> </Directory> 服务器上的唯一文件是位于vHost文档根目录中的完全自包含的testing文件“index.htm”。 试图用此configuration命中服务器会导致403错误。 考虑到这个问题可能是FilesMatch如何合并的一个问题,尤其是在vHost设置和嵌套的Directory指令方面,我在V_HOST.conf文件中replace了以下内容: <Directory /var/www/html> Require all granted <FilesMatch "^.*$"> […]

LogFormat apache 2.4不起作用

我试图在apache2.4中configurationmod_remoteip与代理squid在一个单独的服务器,但在access.log中的IP仍然是代理的IP。 我使用这个https://trick77.com/apache2-2-4-logging-remote-ip-address-using-mod_remoteip/ 实际上,我发现在/etc/apache2/apache2.conf ,该命令 LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 即使我改变文本或删除它,也不要更改access.log的格式。 有人可以帮忙吗?