http站点要这样配置服务器才安全

2016-07-29 10:32

主机(站点)配置

一个站点的2个核心信息为:

主机名(服务器名/站点名): ServerName 服务器名

站点位置(站点目录路径): DocumentRoot “实际物理路径”

默认情况下,apache安装成功,就默认配置好了一个“站点”,该站点的实际位置在:

apache安装位置/htdocs/

默认主机名是安装时设置的,比如www.abc.com,当然,也可以使用localhost

单站点配置项

端口监听:

在apache的主配置文件httpd.conf中:

也可以写为:

实际应用中,我们几乎都是80。

设置主机(站点)的名字:服务器名,站点名

ServerName 服务器名

举例:

也可以设置为:

设置主机(站点)的物理路径:

形式:

DocumentRoot “实际物理路径”

重要观念:

站点就是“文件夹”——我让它当站点,它就是站点。

比如:

原始的站点在这里:

修改为:

在浏览“localhost”,发现被进制访问(Forbidden),然后添加访问权限,如下:

就可以了。

目录访问权限

一个站点,就是一个“目录”。

每个目录,都应该给其设定“访问权限”,语法如下:

<Directory “要设置权限的目录路径”>

#设置当一个请求中没有给定请求的文件名又没有默认网页(首页)的时候,显示文件列表

Options Indexes

#设置权限控制的先后顺序,只有2种:Deny,Allow(先拒绝,后允许),Allow,Deny(先允许后拒绝)

Order Deny,Allow

#Deny用于设定要拒绝访问的来源地址或服务器名,几乎没有实际意义!

Deny from 拒绝名单 比如:deny from 192.168.3.8 172.180.4

Allow from 允许名单 比如:Allow from all

#设置该文件夹下的“默认网页”(首页),可以设置多个,用于请求中不带文件名的时候自动使用该文件作为“返回”页面。

DirectoryIndex index.php index.html main.php default.php abc.php 123.html

</Directory>

目录访问权限中的“分布式权限”:

对于某个目录的访问权限,我们在apache中使用Directory来设定,但可能不够方便:

1,apache配置修改,必须重启apache

2,某个站点中的“下级目录”访问权限,不方便单独设置,

这种,可以称为“集中式权限”;

分布式权限,就是:针对某个网站的任何一个下级目录,都可以单独去设置其访问权限,并且可以不重启apache就生效。

做法:分2步:

第1步:

在该站点对应目录权限的Directorty配置中添加一条:

第2步:

在该目录下的任何子目录中,创建一个特殊的文件( .htaccess ),在该文件中写所需要的“权限内容”(几乎跟Directory中的写法一样):

举例:

www.php39.com/day1/中,初始可以浏览结果如下:

然后,在该文件夹中添加一个文件: .htaccess 其内容为:

(该ip不知是谁,反正不是我!)

在该day1文件夹中,就多了一个文件:

然后,重新访问刚才路径(刷新):

多站点的配置

分3步:

第1步:

在apache的主配置文件httpd.conf中,“打开”多站点虚拟主机配置文件项(关键词:vhosts):

初始:

修改为:

第2步:

在httpd-vhosts.conf文件中,设定希望提供“多站点”服务的IP地址和端口号,通常默认就是:*:80,其中“*”代表所有IP,默认其实apache安装好之后就设置好了,无需手动设置(关键字NameVirtualHost):

第3步:

然后就一个站点一个站点加上!形式如下:

<virtualhost *:80>

#这里设置站点1的各项信息

</virtualhost>

<virtualhost *:80>

#这里设置站点2的各项信息

</virtualhost>

...........

注意:

1,先把httpd-vhosts.conf文件中的2个初始安装生成的站点,删除!!!

2,每个站点的设置项,主要就3个:

ServerName,

DocumentRoot,

<Directory>...</Directory>

3,在多站点配置中,第一个站点被称为“默认站点”,如果某个请求的域名无法跟任何一个站点“匹配”,就会当做请求的是默认站点去处理(应答)

4,一旦实现了多站点配置,则最初安装成功时的“默认站点”就失效了,我们可以将“localhost”当做一个普通站点重新设置就可以了,也可以将其放在第一个位置又重新作为默认站点。

举例:

站点别名的设置:

目录别名(虚拟目录)的设置:

某个站点www.abc.com所对应文件夹下有一个目录为d1,则可以这样访问该目录:

www.abc.com/d1

这个d1就称为“真实目录”;

虚拟目录就是:

该站点下不存在某目录名,但却可以使用同样的语法形式,去访问,比如:

www.abc.com/d2 //假设该站点目录下根本就没有d2这个目录,此时却可以访问

实现这种技术,就是所谓“目录别名”(虚拟目录)的设置,如下:

在一个站点中,做如下2步:

第1步:

设置目录别名的名字和其对应的“实际真实目录(文件夹位置)”:

Alias /目录别名的名字 “实际真实目录(文件夹)的位置”

第2步:

设置该真实目录的访问权限(否则是禁止访问的):

<Directory “真实目录路径”>

。。。。。。跟其他目录权限设置一样

</Directory>

 

转自

PHP站点要这样配置服务器才安全 - 今日头条(TouTiao.com)
http://toutiao.com/a6312566458011549954/

Apache配置详解【转】的更多相关文章

  1. apache配置详解

    可参考:Apache 的 httpd.conf 详解 ServerTokens OS 此指令控制了Server回送给客户端的回应头域是否包含关于服务器OS类型和编译进的模块描述信息.服务器会发送:Se ...

  2. apache 配置详解

    三种MPM介绍                                                                               Apache 2.X  支持 ...

  3. CentOS Apache配置详解

    要想在linux上实现网页服务器(www)需要Apache这个服务器软件,不过Apache仅能提供最基本的静态网站数据而已,想要实现动态网站的话,最好还是要PHP与MySQL的支持,所以下面我们将会以 ...

  4. Apache配置详解(最好的APACHE配置教程)

    From: http://aiks.blog.com.cn/archives/2006/1748482.shtml Apache的配置 Apache的配置由httpd.conf文件配置,因此下面的配置 ...

  5. .htaccess中Apache配置详解

    1.<IfDefine> 指令 说明 封装一组只有在启动时当测试结果为真时才生效的指令 语法 <IfDefine [!]parameter-name> ... </IfD ...

  6. apache配置详解 apache安装路径

    http://www.linuxidc.com/Linux/2015-02/113921.htm 不同apache的安装方式 的安装目录示例 http://www.121down.com/articl ...

  7. apache 虚拟主机详细配置:http.conf配置详解

    apache 虚拟主机详细配置:http.conf配置详解 Apache的配置文件http.conf参数含义详解 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd. ...

  8. Apache日志配置详解(rotatelogs LogFormat)

    logs/error_logCustomLog logs/access_log common--默认为以上部分 修改为如下: ErrorLog "|/usr/sbin/rotatelogs ...

  9. Apache + Tomcat集群配置详解 (1)

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

随机推荐

  1. 关于odbc连接orcal,用户名密码大小写敏感问题

    在oracle的之前版本时, 你的用户名密码是大小写不敏感的, 但在11g中, 数据库默认密码的大小写是敏感的, 于是我们就知道了一个事实, 那就是jdbc在给oracle密码时, 会将其变成大写,真 ...

  2. 第九十一节,html5+css3pc端固定布局,完成首页

    html5+css3pc端固定布局,完成首页 此时我们的首页就完成了 首页效果 其他页面我就不做了,原理相同,做其他页面时将头尾css分离调用即可 大纲算法 我们看看大纲算法比较清晰,说明符合规则 h ...

  3. Google科学家前腾讯副总裁吴军将出席第二届万物互联创新大会

    当越来越多的科技产品注入互联网的基因,"万物互联"的模式悄然兴起.第二届万物互联创新大会(B12大会)将于2016-11-13日在杭州市余杭区隆重召开.Google科学家前腾讯副总 ...

  4. jQuery第十一章

    第十一章 一.jQuery性能优化 1.使用最新版本的jQuery类库. 2.使用合适的选择器 (1)$(“#id”) :使用id来定位DOM元素是最佳提高性能的方式. (2)$(“p”) :标签选择 ...

  5. Spring Security(09)——Filter

    目录 1.1     Filter顺序 1.2     添加Filter到FilterChain 1.3     DelegatingFilterProxy 1.4     FilterChainPr ...

  6. 3、Data对象

    1.创建part1.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  7. Gentoo安装详解(三)-- 配置系统

    配置系统 系统信息: 文件系统信息: 创建/etc/fstab nano -w /etc/fstab 网络信息: Host name, Domainname, etc nano -w /etc/con ...

  8. error LNK2001:unresolved external symbol "xxx:static xxx"

    一般是在类的头文件里定义了某个static变量而没有在类的 Implemention 里去初始化(也许不是这么称呼)这个变量. 比如在 xxdlg.h 中写了如下代码 1: class CxxDlg ...

  9. 通过Maven配置测试环境和开发环境连接不同的数据库

    通过Maven配置测试环境和开发环境连接不同的数据库   作者及来源: 通灵宝玉 - 博客园    收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com   ...

  10. MVC view视图获取Html.RenderAction方式带来的参数

    通过Html.RenderAction这种方式传递的参数,在view视图中获取要使用viewContext上下文来获取:Html.ViewContext.RouteData.Values[" ...