转自: http://ihipop.info/2011/06/2473.html
长期使用Nginx的后果就是,Apache都不会用了。
Nginx启用目录的HTTP验证非常简单:
auth_basic "DD-WRT-Wireless-Access";
auth_basic_user_file pass.txt;
甚至可以直接在Server配置节里面指定。
要关闭某个目录的验证 也很简单
location ~* /route\/? {
auth_basic off;
index index.html index.htm index.php;
}
Apache可以用Satisfy来实现(当然Nginx也支持satisfy)
Satisfy可以实现这样一个功能:当一个目录abc启用了密码保护,想单独开放它的一个子目录def,让这个子目录无须密码即可访问,或者对某些IP段落,比如192.168.2.0/24免密码访问,那么可以这样设置:
2 |
AuthName "Admin required" |
4 |
AuthUserFile /path/to/pwd/file |
这样就可以取消子目录的验证了
原理摘自此处
同时使用Allow和Require时的访问策略。参数可以设置为 All 或 Any 。这个指令仅在某个特定区域的访问控制同时被用户名/密码和客户端主机地址进行限定的时候起作用。默认行为(All)采取客户端首先通过地址访问限制并且输入有效的用户名和密码的方式。使用可选项 Any 将使客户端在通过主机限制或是输入一个有效的用户名和密码两种方式之一得到访问权限。这样,就可以通过密码来限制一个区域的访问,但允许某些特定地址的客户端访问时不需要输入密码。
比如,如果您想让您局域网内的用户访问您的web网站时不受限制,但局域网外的用户需提供密码才能进行访问,您可以采取类似如下的配置:
Require valid-user
Allow from 192.168.1
Satisfy Any
附上强制重新定向http到https的规则
Nginx:
#重定向所有http到https
if ( $scheme = 'http' ) {
rewrite ^(.*)$ https://$server_name$1 permanent;
}
$server_name换成$host是最好的啦
Apache:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
写成%{HTTPS} !on 也可以
分享到:
相关推荐
实战Nginx取代Apache的高性能Web服务器 文字版本。喜欢请购买纸质版支作者
Nginx超过Apache10倍的配置方法, 金山网络内部人士分享
nginx替代apache,nginx替代方案,nginx代替apache与jbos,nginx+jboss结合
Nginx+Apache负载均衡
nginx+apache+mysql+php+memcached+squid搭建门户网站
LVS+keeplived+nginx+apache搭建高可用、高性能php集群
nginx和Apache下 设置网站301重定向
本篇文档详细记录了Nginx和Apache伪静态设置的规则,作为线上维护的参考手册,在此分享,希望能帮助到有用到的朋友。
详细讲解apache/tomcat和nginx的区别,可以充分掌握他们的应用场景
Nginx选择了epoll和kqueue作为网络I/O模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,它能够支持高达50 000个并发连接数的响应,运行稳定,且内存、CPU等系统资源消耗非常低。, 本书主要分为4个部分...
实战Nginx取代Apache的高性能Web服务器.rar
在各种服务器(nginx,apache,tomcat)上设置CORS跨域设置.zip
快速简简单的搭建一个http服务器,提供http服务,对http服务器要求不高; apache简单配置 nginx简单配置
配置Nginx前端Apache后端服务器,负载均衡等
一个开源的Linux下运行的命令行工具,能将Apache的配置文件转换成相应的Nginx的配置文件。本工具能自动将Apache Web服务器的配置文件转化成Nginx的配置文件,减少WEB服务器迁移的工作量。 该工具从Apache Web服务器...
Apache2Nginx是一个开源的linux下运行的命令行工具.它可以把apache 配置文件转换成对应的nginx 配置文件.对于一般的功能. 比如目录 url重写.这都从测试来看.基本上不存在问题.对于不能转换的.会有注释在转换好的配置...
主要介绍了Nginx、Apache、Lighttpd禁止目录执行php配置示例,本文给出了单个目录、多个目录的禁止执行PHP的方法,需要的朋友可以参考下
nginx与apache限制ip连接数和带宽方法.docx