我正在寻找一种方法来检测Allow override虚拟主机设置是否导致 .htaccess 文件被忽略。
现在,我正在测试可以在 .htaccess 中设置的一些 PHP 设置的值,但是这种检测还不够好(因为这些值也可能在 php.ini 中进行了更改)。
最终目标是防止应用程序在忽略 .htaccess 文件的情况下运行,原因如下:
是否有安全可靠的方法来检测 .htaccess 文件是否有效?
我必须安装mod_wsgi在 Apache 2.4 中。我在过去两个小时内搜索了该mod_wsgi.so文件,但什么也没找到。
在哪里可以找到 Windows 上适用于 Python 3.6 的 Apache 2.4 的此文件?
我尝试自己编译它,但出现一些错误。系统不能包含 ap_config.h ...
我正在对 PHP 应用程序进行容器化,并希望根据环境变量修改 Apache 配置。这是在覆盖默认值的脚本中完成的ENTRYPOINT:
FROM php:7.2-apache
# ...
COPY prepare-docker-configs.sh .
RUN chmod +x prepare-docker-configs.sh
ENTRYPOINT ./prepare-docker-configs.sh
Run Code Online (Sandbox Code Playgroud)
进行这些修改后,Apache 不会启动。apache2-foreground似乎缺少命令,所以我在末尾运行它prepare-docker-configs.sh
#!/bin/bash
# ... Some config substitution
apache2-foreground
Run Code Online (Sandbox Code Playgroud)
现在 Apache 已经启动,一切都按预期进行。但我注意到停止容器比以前慢得多。我跑time docker-compose down了两个星座:
ENTRYPOINTreal 0m2,080s
user 0m0,449s
sys 0m0,064
Run Code Online (Sandbox Code Playgroud)
ENTRYPOINTreal 0m12,247s
user 0m0,491s
sys 0m0,067s
Run Code Online (Sandbox Code Playgroud)
所以需要大约10秒的时间。特别是在需要进行大量测试的开发过程中,这总共会浪费大量时间。
ENTRYPOINT停止速度如此之慢?如何解决?我尝试STOPSIGNAL SIGWINCH从原始 Dockerfile 添加并运行docker-php-entrypoint,两者都没有帮助。
该docker-compose.yml文件没什么特别的。由于内部冲突,它只是定义了服务并覆盖默认网络:
version: '2'
services:
app:
build:
context: .
args: …Run Code Online (Sandbox Code Playgroud) 我尝试了几件事,每次重启Apache2都没有成功.
在phpinfo(),register_argc_argv保持"关闭".
我使用Ubuntu 14.04.3 64位,Apache 2.4.7和PHP 5.5.9.
我试过那些:
register_argc_argv = On
register_argc_argv = True
register_argc_argv: On
register_argc_argv: True
Run Code Online (Sandbox Code Playgroud)
在/etc/php5/apache2/php.ini中.
如何告诉Apache指向127.0.0.1类似的特定文件夹/var/www/projects/mysite1/?
我使用的sudo gedit /etc/apache2/apache2.conf是我的配置:
<Directory />
Options FollowSymLinks
AllowOverride all
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
因此,如果我更改/var/www/为/var/www/projects/mysite1/并http://127.0.0.1/在重新启动服务器后尝试在浏览器上进行访问,则会收到此错误:
禁止的
您无权访问此服务器上的/。
位于127.0.0.1端口80的Apache / 2.4.7(Ubuntu)服务器
有什么想法我该怎么办?
Apache 文件夹密码保护的安全性如何?当然,安全性是相对的,并且取决于其他变量,例如服务器的其余部分等。
但只放大了 .htaccess 中的文件夹保护:这是一种安全的方法吗?是否存在已知的大洞?