我有一个Web服务器与几个虚拟主机。 其中一些主机有一个关联的ssl站点。 我在我的主要configuration文件中有一个DirectoryMatch指令,它需要对作为目录path一部分的受保护的任何目录进行基本身份validation。 在具有SSL站点的站点上,我有一个重写规则(位于该站点的非SSLconfiguration中),redirect到SSL站点,同一个URI。 问题是http(80)站点首先要求凭据,然后https(443)站点再次请求凭据。 我想阻止http站点询问,从而避免有人input凭据并以明文forms发送。 我知道我可以将DirectoryMatch移动到特定的站点,只要将auth语句放在SSLconfiguration文件中,但是这会引入在创build新站点时忘记保护关键目录的可能性。 这里是相关的声明:httpd.conf(所有站点): <DirectoryMatch "_secured_"> AuthType Basic AuthName "+ + + Restrcted Area on Server + + +" AuthUserFile /home/websvr/.auth/std.auth Require valid-user </DirectoryMatch> site.conf(具体到个人网站) <DirectoryMatch "_secured_"> RewriteEngine On RewriteRule .*(_secured_.*) https://site.com/$1 </DirectoryMatch> 有没有办法在主configuration文件中离开DirectoryMatch并阻止来自http站点的授权请求? 在Ubuntu 10.04服务器上从默认包运行Apache 2。 我有AllowOverride设置为无 – 我喜欢处理configuration文件而不是.htaccess中的东西。
所以我在我的Linux机器上安装了mysql,我可以使用命令行login到它,我可以创build一个数据库,表,所有这一切 我做了一个phpinfo()脚本并运行它,但似乎没有认识到MySQL已安装,我错过了一个步骤? 信息页返回所有其他信息,这似乎是正确的, 任何build议,将有助于感谢!
任何人都可以请告诉我如何从备份恢复apacheconfiguration? 从/etc/httpd/conf/httpd.conf.backup
我已经在我的Apache上安装了mod_fastcgi,并将LoadModule放到我的httpd.conf文件中。 当我做一个phpinfo(),mod_fastcgi在加载模块部分,但服务器API仍然显示为Apache 2.0。 请让我知道如何改变这一点。
我正在试图设置一个别名的权限不同于根,比如 www.restricted.com – 一个用户 www.restricted.com/alias – 另一个用户 这可能吗? 我已经在一个单独的目录(不是子目录)中使用自己的<directory>条目和单独的authentication设置在httpd.conf中设置了别名。 但是,在尝试访问/别名时,对于这两个部分,我都会得到两个密码请求。 我不确定是因为我的错误还是devise错误。 例: <VirtualHost *:443> ServerName www.restricted.com DocumentRoot /var/www/site/main/ <Directory /var/www/site/main/> AuthUserFile /var/www/site/.htpasswd AuthGroupFile /dev/null AuthName "main site" AuthType Basic Require user joe </Directory> Alias /alias /var/www/site/subsite/ <Directory /var/www/site/subsite/> AuthUserFile /var/www/site/.htpasswd AuthGroupFile /dev/null AuthName "subsite" AuthType Basic Require user admin </Directory> </VirtualHost> 由于虚拟主机根和别名位于服务器上的不同目录中,我认为<Directory>指令比<Location>更合适。
我在我的Ubuntu GNU / Linux服务器上安装了mod_security,但是当我向web服务器发送一些简单的请求时,即使是最简单的规则,我也没有看到任何警报或任何应该存在于/ var / log / Apache2的。 我错过了什么? 在继续进行之前,我的系统详细信息如下: $ apache2ctl -t -D DUMP_MODULES | grep secu Syntax OK security2_module (shared) $ sudo lsof | grep mod_security apache2 12773 root mem REG 202,0 268828 50225 /usr/lib/apache2/modules/mod_security2.so apache2 15287 www-data mem REG 202,0 268828 50225 /usr/lib/apache2/modules/mod_security2.so apache2 15288 www-data mem REG 202,0 268828 50225 […]
我在httpd错误日志中发现了一些错误,如下所示: Unsupported marker type 0x4b Unsupported marker type 0x50 Unsupported marker type 0x50 Unsupported marker type 0x50 Unsupported marker type 0x50 有人可以帮我解决这些错误吗?
我有一个网站,我不想通过HTTP使用。 我该如何让Apache将所有HTTP请求redirect到https://mysite ?
我之前已经安装了Apache2,现在当我尝试再次运行它时,它不会。 我的Apache2设置是: jatin@jatin-ubuntu:/var/run$ apache2 -V Server version: Apache/2.2.14 (Ubuntu) Server built: Nov 18 2010 21:17:19 Server's Module Magic Number: 20051115:23 Server loaded: APR 1.3.8, APR-Util 1.3.9 Compiled using: APR 1.3.8, APR-Util 1.3.9 Architecture: 32-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with…. -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 […]
我想使用“限制”来允许GET和POST,只有特定的站点才能访问需要authentication的页面。 我想要从某个IP的GET和POST的身份validation,谁应该能够访问而无需身份validation。 <Limit GET POST> allow from allowableSite.com </Limit> 这不起作用。 一切都是非法的 <Limit GET POST> allow from all </Limit> 这也不pipe用。 一切仍然是未经授权的(401) 唯一通过authentication的是这个 <Limit GET POST> satisfy any </Limit> 然后,任何GET或POST将成功…但这不是我想要的,因为我只想访问从某个站点可用。 而“允许”没有按预期工作。 有什么东西可以configuration在其他地方造成这种行为? 任何帮助深表感谢。