此处将为大家介绍关于Apache全球基本身份validation的详细内容,并且为您解答有关apache全称的相关问题,此外,我们还将为您介绍关于.htaccess通过虚拟主机的基本身份validat
此处将为大家介绍关于Apache全球基本身份validation的详细内容,并且为您解答有关apache全称的相关问题,此外,我们还将为您介绍关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation、Apache Bean Validation 0.2 发布的有用信息。
本文目录一览:- Apache全球基本身份validation(apache全称)
- .htaccess通过虚拟主机的基本身份validation?
- AD /表单身份validation
- Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation
- Apache Bean Validation 0.2 发布
Apache全球基本身份validation(apache全称)
我有几个虚拟主机的Apache Web服务器
我希望他们都是基本授权(AuthType Basic)
但是 – 这看起来Auth derective只适用于<Location>和<Directory> (在虚拟主机部分内)
有没有办法一次为所有的虚拟主机全局设置基本身份validation?
Jira,Tomcat和JBoss在Apache之后
使用PHP我如何做一个重写规则?
Apache目录closures – 站点中断
提高创build用户帐户的Python CGI脚本的安全性
Bootstrap glyphicons(fonts / ****。woff)无法加载
PHP致命错误:类''MongoClient''未find
Apache error.log中没有出现404错误
当客户端closures连接到Django / Wsgi应用程序时,如何防止“IOError:写入数据失败”?
如何在PHP中获取http请求源
Debian Dockerconfiguration文件
全局配置(Debian上的httpd.conf或apache2.conf)中设置的任何<Directory>或<Location>都将应用于所有VirtualHost,因为全局配置是按定义共享的 。
共享一个<Directory>位置非常困难,因为您的VirtualHosts可能有不同的DocumentRoot 。 但是<Location />是一个很好的目标,所有的虚拟主机都会有一个''/''url。
所以,如果你把它放在全局定义的<Location />中,它将起作用,除非一个VirtualHost上的<Location />正在使用某个指令去除Auth。
总结
以上是小编为你收集整理的Apache全球基本身份validation全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
.htaccess通过虚拟主机的基本身份validation?
我想知道是否可以根据.htaccess文件中的虚拟主机URL设置条件http基本authentication要求。
例如,我想要做的是让mysite.com和test.mysite.com在相同的目录中运行相同的代码库,但密码保护test.mysite.com。 这将设置这种方式,以便我不需要分支我的代码,因为我的应用程序代码可以看到它提供的哪个虚拟主机/ url,并select数据库来提供内容。
Apache .htaccess URL重写
htaccess使用参数redirecturl
符号链接和索引文件无法正常工作的.htaccessconfiguration
find服务器上的所有htaccess文件
我怎么能redirect到一个目录中的所有文件到另一个目录?
你可以使用mod_setenvif和mod_auth模块来排序。 使用SetEnvIfNoCase指令设置哪个主机受密码保护。 您需要一些额外的指令来满足访问:
# Check for the hostname here SetEnvIfNoCase HOST ^test.mysite.com.?(:80)?$ PROTECTED_HOST
然后在Directory块(或刚刚打开),你有你的身份验证的东西安装,如下所示:
AuthUserFile /var/www/test.mysite.com/htpasswd AuthType Basic AuthName "Password Protected"
现在的要求/满足的东西:
Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=!PROTECTED_HOST
这将使得任何不匹配^test.mysite.com.?(:80)?$主机都可以访问,而不需要auth( Allow from env=!PROTECTED_HOST ),否则我们需要一个有效用户( Require valid-user )。 Satisfy any确保我们只需要其中的一个,无论是允许还是要求。
我在执行Jon的解决方案时遇到问题:虽然我对Apache conf和正则表达式非常熟悉,但是身份验证总是被触发。 从一个快速的分析看来,就像是Allow from env=!PROTECTED_HOST行的Allow from env=!PROTECTED_HOST没有启动。
但是我发现了另一个对我来说更安全的解决方案:
我为两个域指定了相同的文档根目录(这是完全允许的)创建了两个虚拟主机。 在其中一个虚拟主机中,我添加了基本身份验证指令(直接进入vhost指令块)。
奇迹般有效。 我有一个更好的感觉,这是非常安全的 – 没有任何风险忽略任何细节的正则表达式将打开入侵者的大门。
<VirtualHost *:80> serverName www.mysite.com DocumentRoot "/path/to/common/doc/root" <Directory "/path/to/common/doc/root"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> serverName protected.mysite.com DocumentRoot "/path/to/common/doc/root" <Directory "/path/to/common/doc/root"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all AuthUserFile /path/to/htpasswd AuthName "Password please" AuthType Basic Require valid-user </Directory> </VirtualHost>
这里有一个类似于Jon Lin提出的解决方案,但是使用RewriteCond来检查主机名:
RewriteEngine On RewriteCond %{HTTP_HOST} =protected.hostname.com RewriteRule ^.*$ - [E=DENY:1] AuthUserFile /path/to/htpasswd AuthName "Password please" AuthType Basic Order Deny,Allow Satisfy any Deny from all Require valid-user Allow from env=!DENY
总结
以上是小编为你收集整理的.htaccess通过虚拟主机的基本身份validation?全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
AD /表单身份validation
我正在开发一个主要在内部使用的应用程序,并希望知道如何在不提示用户login的情况下自动对用户进行身份validation。
但是,当用户没有自动authentication(即他们已经通过互联网连接),我想显示一个表单,将validation用户对AD
谁能帮忙?
C#.NET应用程序在64位环境中运行时抛出ODBC驱动程序不匹配错误
如何检查是否有默认打印机(Windows)?
为什么我的WPF应用程序不显示?
与SystemParametersInfo和布尔值pvParam参数混合
C#桌面应用程序的哪些框架适用于Windows XP或更高版本?
静态string使用File.ReadAllText
是否有一个原因MailItem.display方法的z顺序行为不同机器?
从Perl调用.NET
为什么在Windows7(.net 3.5)中运行的应用程序在Win8(.net4.5)中不起作用
找出如果一个进程中断了当前进程
就ASP.NET而言,您希望将Windows和表单身份验证混合使用。 没有简单的解决方案。 已经在这里讨论了可能的解决方法:
混合Windows身份验证与表单身份验证
Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation
我的开发设置:Mac OSX 10.7.4 / Apache 2.2.21 / PHP 5.3.10
我希望添加条件逻辑到我的.htaccess文件取决于开发与现场环境。 例如我想在活动服务器上进行身份validation,但不是在开发服务器上。 我在我的httpd.conf
SetEnv DEV 1
我已经确认这个var是通过检查PHPinfo()的输出来设置的。 然后在我的.htaccess文件中
htaccess在localhost中工作,但在EC2实例中不起作用
Laravel | 共享托pipe路线工作不正常
如何在.htaccess文件中限制/禁止访问特定的文件types,例如.js .css?
mod_rewrite:删除尾部斜线(只有一个!)
如何防止两个链接与.htaccess显示相同的内容?
<IfDefine !DEV> AuthType Basic AuthName "password protected" AuthUserFile /path/to/.htpasswd Require valid-user </IfDefine>
…但我仍然提示在我的本地开发密码。 看起来DEVvariables不可用于.htaccess 。 我的AllowOverride All设置在我的httpd.conf根目录的httpd.conf中。 有任何想法吗?
在apache中检查移动设备并redirect到移动网站
Apache文件夹没有显示出来
Prerender.io子页面redirect到索引
CSS,JS和图像不显示漂亮的url
htaccess可以读取在Apache中设置的服务器环境variables吗?
我从这个问题约4个小时开始新鲜了,我相信我有最后的答案,可以为大家总结如何解决这个特别痛苦的问题。
我使用Apache 2.2x和PHP 5.3作为我的开发机器的Windows 7家庭高级版。 我也想拥有一个DEV环境变量,我可以在我的.htaccess文件中使用它来关闭重写和其他指令,这些指令在我的开发环境中是无效的,但是对于我的生产环境是非常重要的。
我的.htaccess文件看起来像这样;
<IfDefine !__DEV__> AddType application/x-httpd-PHP53 .PHP </IfDefine>
HostGator告诉我,为了有PHP 5.3我需要修改我的htaccess文件这样启用它,否则我只会有PHP 5.2。 但是我已经在我的开发机器上拥有了它,所以这个指令导致我的客户网站在本地查看时崩溃。 我要解释的一切都使我可以在我的Git Repository中保存一个.htaccess文件,这个文件在两个位置都可以工作。
首先,让我清理/总结一下我在学习互联网时使用IfDefine和SetEnv解决这个问题的方法。
Apache中的IfDefine指令,只有,只有当我只说我只是意味着,响应在命令行传递的参数。 让我强调一点。 只有命令行!
SetEnv和SetEnvIf,是两个完全不同的东西。 一个(SetEnv)用于conf文件,设置在SERVER START TIME设置的环境变量(特定于apache)。 SetEnfIf用于REQUEST TIME,仅用于根据REQUEST变量确定要设置的内容。
IfDefine指令不读取由SetEnv或SetEnvIf设置的变量。 期。 没有任何争论,毫无疑问,没有“但我想……”否。 它没有,所以克服它。
最简单的答案是NO,你不能只使用httpd.conf中的“SetEnv DEV 1”,然后使用IfDefine在你的.htaccess文件中检测它,根据编程逻辑的语法和性质,这看起来很直观和合理我们习惯了。 回想一下,我们实际上并没有编程任何东西,这些都是配置文件,当然,他们也不符合这个期望,因为看起来他们应该这样做。
答案
所以这意味着我必须弄清楚如何给Apache添加一个启动参数,对于Linux专家来说,这个答案很容易得到,你只需要在envvars文件中添加正确的东西,但是我们可怜的windows junkies ?
对于Windows用户来说,由于以下原因,它变得更有趣:
Windows不允许你在Apache2.2的服务配置中永久添加启动参数(它不工作,不要尝试,我已经做了一百万次,相信我)。 这是真的,如果你进入并且试图放入你自己的参数,它只会工作一次,然后下次打开对话框时参数字段是空的。 我不知道为什么会出现这种情况,但似乎这些参数是用于测试的,而不是一个永久的修改。
安装Apache时,会在开始菜单中创建“开始”,“停止”和“重新启动”快捷方式,并安装Apache服务监视器。 但是开始菜单中的快捷方式使用的启动参数不同于apache服务监视器使用的启动参数。 所以,如果你使用这些方法的组合来启动/停止apache,你将得到不同的结果,这取决于你使用的是什么方法。 但是,您可以将-D“__DEV__”放在开始菜单的快捷方式中,它将起作用!
解决这个问题的步骤
要永久和普遍地设置一个__DEV__环境变量,您可以在.htaccess文件中使用IfDefine来引用,在Windows开发环境中,无论您是使用服务启动Apache还是开始菜单中的快捷方式,或者使用NET START / STOP命令行,请执行以下操作:
打开开始菜单快捷方式的属性,并提取在那里启动Apache的命令。 我是 “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe”-w -n“Apache2.2”-k start
修改它以包含新的-D __DEV__变量,它必须在httpd.exe之后立即开始; “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe” -D“__DEV__”- w -n“Apache2.2”-k start
你的开始菜单的快捷方式现在将启动Apache与您的开发变量。
转到命令行(以管理员身份)
类型:净停止apache2.2(或任何您的服务名称是为Apache)
现在在命令行中输入(或复制粘贴)与上面的开始菜单快捷方式中使用的命令相同的命令,但进行以下更改; “C: Program Files(x86) Apache Software Foundation Apache2.2 bin httpd.exe”-D“__DEV__”-w -n“Apache2.2”-k config
请注意单词start到config的更改。 这个神奇的命令所做的就是将你在屏幕上看到的设置保存到与Windows中的服务一起存储的设置中。 按Enter键。 从这一点开始,每当启动服务时,您的变量都会被传递,Apache服务监视器启动服务,或者Windows启动服务。
对不起,这部小说的每一个人,我都希望能够帮助别的疲惫的灵魂把这些信息加以总结和解释,我知道它会帮助我! :d
我的第一个答案的另一个选择是使用允许指令。
看看: http : //httpd.apache.org/docs/2.2/mod/mod_authz_host.html#allow
Order deny,allow Deny from all AuthType Basic AuthName "password protected" AuthUserFile /path/to/.htpasswd Require valid-user Allow from env=DEV Satisfy Any
这只会检查DEV是否存在的价值,这是如何Apache的工作。 将“允许”替换(或添加)为“允许来自127.0.0.1”,让您的本地主机始终处于开发模式。
这表明任何条件都可以接受,条件是:password或127.0.0.1。 如果你在本地主机上开发,你可以使用127.0.0.1,或者用你开发的任何IP代替。 这不需要被包裹在任何东西,只是放在你的htaccess文件。 我使用虚拟主机,所以我会把它放在那里。
来源(我改变它看起来你的原始代码): http : //www.askapache.com/htaccess/apache-authentication-in-htaccess.html#allow-conditional
2年,我有类似的问题。 具体而言,我们将自动部署到AWS OpsWorks堆栈,并且无法控制.htpasswd文件的放置(用于隐藏开发过程中的工作)。
我们最后的工作解决方案是沿着这个(Apache 2.2.25):
# check the host against a regex,defining env=DEV if it matches # this guy matches localhost,dev.project and 10.1.XX SetEnvIfNoCase Host "^(localhost|dev.project|10.1(.d+){2})$" DEV AuthType Basic AuthName "Restricted" # auth file location,in our case defined by an AWS OpsWorks auto-deployment # this only gets loaded if the regex above doesn''t match,which is handy AuthUserFile /srv/www/project/current/.htpasswd Require valid-user Satisfy any Order deny,allow Deny from all Allow from env=DEV
该解决方案足够灵活,可以在多个开发环境中进行访问,同时验证其他许多开发环境。 在git提交之前,不需要忽略或编辑htaccess。 一个环境变量可能看起来有点过分,但它允许一个正则表达式,也可以在其他地方使用。
请参阅: http : //httpd.apache.org/docs/2.2/howto/access.html
Debian / Ubuntu的解决方案:
在/etc/apache2/envars中必须改变:
## If you would like to pass arguments to the web server,add them below ## to the APACHE_ARGUMENTS environment. #export APACHE_ARGUMENTS=''''
至
## If you would like to pass arguments to the web server,add them below ## to the APACHE_ARGUMENTS environment. export APACHE_ARGUMENTS=''-D __DEV__''
现在可以使用了
<IfDefine !__DEV__> ... </IfDefine>
我喜欢回答问题,但快速的谷歌搜索给了我你的答案。 查看apache文档: http : //httpd.apache.org/docs/2.0/mod/core.html#ifdefine
IfDefine指令只能测试一个“参数名称”,而“参数名称”是启动时由httpd设置的一个变量。
也检查出这个网站,并向下滚动到表格: http : //turboflash.wordpress.com/2010/05/27/apache-environment-variables-visibility-with-setenv-setenvif-and-rewriterule-directives/
如果你刚刚开始你的开发网络服务器,你仍然可以问:
$ httpd -DDEV
这将定义变量DEV 。 请注意,你不需要设置任何东西,被定义基本上设置为1 / true。 如果它不存在就像被设置为false / 0 / null / etc …
总结
以上是小编为你收集整理的Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
Apache Bean Validation 0.2 发布
Bean Validation 项目的目的就是为了实现
该版本修复了一些小bug,通过了 Bean Validation 1.0.3 TCK 兼容性测试。
下载地址:http://incubator.apache.org/bval/cwiki/downloads.html
关于Apache全球基本身份validation和apache全称的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于.htaccess通过虚拟主机的基本身份validation?、AD /表单身份validation、Apache .htaccess – 基于环境或主机名有条件地应用基本身份validation、Apache Bean Validation 0.2 发布等相关内容,可以在本站寻找。
本文标签: