`

Nginx和Apache取消带验证目录的子目录验证的方法

 
阅读更多

转自: 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免密码访问,那么可以这样设置:

1 AllowOverride All
2 AuthName "Admin required"
3 AuthType Basic
4 AuthUserFile /path/to/pwd/file
5 require valid-user
6  
7 Allow from all
8 Satisfy any

这样就可以取消子目录的验证了

 

原理摘自此处

同时使用AllowRequire时的访问策略。参数可以设置为 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 for windows安置程序

    4. **启动**: 在命令行中切换到 Nginx 安装目录的 `sbin` 子目录下,执行 `nginx.exe` 或双击运行,启动 Nginx 服务。 5. **验证**: 打开浏览器,访问 `http://localhost`,如果能看到 Nginx 的欢迎页面,说明安装...

    Nginx反向代理实现多Tomcat负载均衡 (1).md

    - **负载均衡**:是一种分发网络流量的方法,通常通过使用负载均衡器来提高系统的响应速度和服务可用性。 #### 二、准备工作 为了确保能够顺利实施负载均衡,我们需要准备以下环境: 1. **操作系统**:本文档以...

    nginx for windows 工具下载

    标题"nginx for windows 工具下载"指的是在Windows操作系统上安装和使用Nginx的流程,而描述中提到的"nginx 1.5.10 里面的配置已经写好,经测试也成功"意味着这个版本的Nginx配置文件已经预设并经过验证,可以顺利...

    Nginx从入门到精通

    - **资源消耗低**:相比Apache等传统Web服务器,Nginx占用更少的内存和CPU资源。 - **模块化设计**:支持通过安装各种第三方模块来扩展其功能。 - **配置灵活**:提供灵活且强大的配置方式,支持多种条件匹配规则...

    Windows环境nginx

    - 停止Nginx:在命令行窗口中,切换到Nginx安装目录的`sbin`子目录下,执行`nginx.exe -s stop`。 - 重启Nginx:执行`nginx.exe -s reload`,这将在不中断服务的情况下重新加载配置文件。 8. **监控与性能调优** ...

    Windows+Apache+mod_wsgi+virtualenv搭建django

    - 下载 mod_wsgi,并按照文档中的步骤将其安装到 Apache 的 modules 目录中。 - 修改 Apache 的配置文件 httpd.conf,加载 mod_wsgi 模块,并指定包含自定义配置文件的路径。 6. **配置 Apache 和 Django:** - ...

    Linux下nginx+nagios_监控平台搭建.doc

    - 验证安装是否成功,检查`/usr/local/nagios`下是否有必要的子目录。 4. **安装Nagios插件**: - 解压并编译`nagios-plugins`,确保插件安装在`/usr/local/nagios/libexec`目录下,这些插件用于执行各种监控任务...

    Nginx批量添加二级子域名完美方案

    建议在尝试配置之前,先阅读相关资料,比如《正则表达式30分钟入门教程》和《Nginx Location指令基础》,以便更好地理解正则表达式的用法和Nginx的location指令的配置方法。理解了基础概念之后,按照本文提供的方法...

    织梦全国多城市分站地区插件(带教程)别轻易尝试_经济_织梦分站_织梦全国分站_全国分站_

    【描述】中的“已验证可实现”表明这个插件经过了实际测试,可以成功地在织梦系统中部署并运行,为用户创建和管理全国范围内的多个地区子站点提供了一套完整的解决方案。这通常涉及到复杂的URL重写、地区分类、数据...

    网站目录和理论知识说明1

    而 Web 根文件夹(Web Root),通常是名为 `wwwroot` 的子目录,专门用于存放可供 Web 客户端直接访问的静态文件,如 CSS、JavaScript 和图片等。这样设计提高了应用的安全性,避免了非静态资源的误访问。 在配置...

    solr+tomcat处理后的简易部署+说明文档(上)

    这些文件通常位于解压后的Solr目录的`conf`子目录下。 4. **启动Tomcat**:打开命令行,导航到Tomcat的bin目录,然后运行`startup.sh`(Unix/Linux)或`startup.bat`(Windows)来启动Tomcat服务器。启动后,Solr...

    well_known已生成文件夹

    例如,当使用自动化工具如Certbot来获取和管理SSL证书时,会将验证文件放在".well-known/acme-challenge/"子目录下。 在处理这类问题时,IT管理员需要确保服务器的配置正确,允许访问这个目录,同时保持安全,防止...

    开源项目-xenolf-lego.zip

    3. `src/`:源代码目录,包含了lego项目的Go语言代码,可能分为不同子目录,如`cmd/`(命令行接口)、`acme/`(与ACME协议相关的代码)等。 4. `test/`:测试用例,用于验证代码功能的正确性。 5. `Makefile`或`...

    linux练习题[归纳].pdf

    * Nginx 与 Apache 对比。 * Nginx 安装依赖有哪些? * Nginx 安装怎样指定安装路径? * Nginx 怎样启动? * 怎样检查 Nginx 配置文件的准确性? * 怎样重新加载 Nginx 配置文件? * Nginx 怎样指定运行用户? * ...

    Python_Certbot是eff的工具,可以从Lets Encrypt获取证书,并可选择在服务器上自动启用HTTP.zip

    它可以与多种Web服务器如Apache和Nginx无缝集成。 4. **自动更新**:Certbot还支持证书的自动更新功能,以确保您的证书始终有效。Let's Encrypt签发的证书有效期为90天,因此定期更新非常重要。 在使用Certbot时,...

    PHP和MySQL Web开发(原书第4版)(有源码)

    - Apache和Nginx服务器配置:如何为PHP设置和优化Web服务器。 - PHP的部署和版本管理:如使用Composer管理依赖,以及PHP版本切换。 通过这本书,读者将能够建立起坚实的PHP和MySQL基础,掌握Web开发的核心技能,...

    虚拟域名的配置方法.rar

    这种方法极大地节省了IP资源,提高了服务器的利用率。在本压缩包中,包含了关于虚拟域名配置的相关资料,包括“爱书吧.txt”可能包含的文本教程,以及指向“教程阅读器下载”的URL链接,方便用户获取阅读工具,还有...

    文件上传源码

    在描述中提到的“新建子目录”和“删除子目录”,意味着源码可能还包括对服务器上文件夹结构的操作。这可能涉及创建新的目录,以便用户可以组织他们的上传,或者删除不再需要的空目录。同时,“删除文件”功能允许...

    Laravel框架开发实战-PPT.zip

    - app目录下包含Models、Controllers、Providers等子目录,分别用于业务逻辑、控制器和服务提供者。 3. **路由系统** - Laravel的路由系统强大且灵活,允许开发者定义HTTP请求的处理函数。 - 使用`Route::get()`...

Global site tag (gtag.js) - Google Analytics