`

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 for windows 工具下载

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

    Windows环境nginx

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

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

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

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

    【描述】中的“已验证可实现”表明这个插件经过了实际测试,可以成功地在织梦系统中部署并运行,为用户创建和管理全国范围内的多个地区子站点提供了一套完整的解决方案。这通常涉及到复杂的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 怎样指定运行用户? * ...

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

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

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

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

    虚拟域名的配置方法.rar

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

    文件上传源码

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

    Laravel框架开发实战-PPT.zip

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

    PyPI 官网下载 | certbot-0.34.0-py2.py3-none-any.whl

    它支持多种Web服务器,包括Apache和Nginx,以及各种操作系统,如Linux、FreeBSD和Windows。通过使用`certbot`,用户无需深入了解证书申请的复杂流程,只需几条命令即可完成证书的申请、安装和更新。 在`certbot-...

    Laravel5.2博客项目实战开发视频教程 演示代码

    博客项目的主要代码将位于 `app` 目录下的 `Http` 子目录,特别是 `Controllers`、`Models` 和 `Views` 文件夹。 3. **路由** 路由是 Laravel 应用程序的入口点。在 `routes/web.php` 文件中定义博客的路由。例如...

    Tomcat构建企业级高负载WEB服务器-软件包.zip

    在Tomcat中,所有位于`webapps`目录下的直接子目录都被视为Web应用程序,而以"ROOT"命名的目录意味着该应用将成为服务器的默认主页。部署此应用时,只需将其解压到Tomcat的`webapps`目录下,然后Tomcat会自动识别并...

    基于PHP的W3C联盟系统.zip

    此压缩包中的这个文件可能是一个压缩包内的子目录,包含了所有相关的项目文件。 详细知识点: 1. **PHP基础**:理解变量、数据类型、控制结构(if-else、switch-case、循环)、函数、类与对象等基本概念。 2. **...

    mhr-v1-0-master.rar

    源代码可能按照模块或功能划分,如`controllers`(控制器)、`models`(模型)、`views`(视图)和`services`(服务)等,每个子目录对应系统的一个部分。 2. **配置文件**:项目中会有配置文件,例如`.env`用于...

Global site tag (gtag.js) - Google Analytics