标签:删除 基于域名的虚拟主机 优化 def 处理 css none let passwd命令
本实验为前次博客的扩展,有兴趣可以参考HTTP服务安装与配置
访问控制:限制客户端可以访问的资源,或限制其不能访问某些资源
实现方式
<Directory ""> 内部指令只对Directory容器生效,完成控制
<Files ""> 针对某个文件进行控制,而非路径名称,必须只写文件名
<Location ""> 此容器需单独定义,不要定义在Directory之中。
实验环境
基于来源地址的访问控制实现
禁止来自192.168.10.111的主机访问根,修改主配置文件如下
禁止来自10.10.86.68的主机访问sub子目录,修改配置文件如下
重启服务
由于SeverName未指定所以出现异常信息,修改ServerName属性并重启
192.168.101.win10客户端访问测试
192.168.10.111 centos6 客户机测试(为了便于观察,使用lynx工具进行测试,需要先安装该工具)
注:使用q退出
#/etc/httpd/conf/httpd.conf
<Directory "/var/www/html">
Options Indexes FollowSymLinks
#Options 选项
#Indexes 若不存在索引页面则录下内容以列表样式列出
#FollowSymLinks 目录下启用显示符号(软)链接文件
AllowOverride None
Order allow,deny #指定规则,先检查allow后检查deny
Allow from all #允许所有主机
Deny from 192.168.10.111 #拒绝192.168.10.111,覆盖前面设定的允许
</Directory>
<Directory "/var/www/html/sub">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Deny from 192.168.10.1
</Directory>
创建虚拟用户的目录,并添加测试主页
使用htpasswd命令添加虚拟用户,指定用户存放文件为/etc/httpd/conf.d/.htpasswd
注:-m 表示md5加密,-c自动创建账户,-s使用sha1加密,-D 删除指定账户
修改主配置文件如下:
重启服务
win客户端访问
#/etc/httpd/conf/httpd.conf
<Directory "/var/www/html/httpd1"> #网站所在路径
Options Indexes #使用的选项
AllowOverride None #是否允许权限覆盖
AuthType Basic #认证类型 虚拟用户认证
AuthName "welcome" #认证的名称,提示信息
AuthUserFile "/etc/httpd/conf.d/.htpasswd" #虚拟用户存放文件路径
Require valid-user #允许访问的用户,valid-user有效用户 或指定用户名
</Directory>
实验环境
分类
基于IP的虚拟主机的实现
#/etc/httpd/conf/httpd.conf
<VirtualHost 192.168.10.109:80> #虚拟主机的ip及端口
ServerAdmin mail@www.lg1.com #管理员邮箱
DocumentRoot /www/docs/lg1 #网站根目录
ServerName www.lg1.com #服务器名
ErrorLog logs/lg1-error_log #错误日志存放位置
CustomLog logs/lg1-access_log #访问记录日志存放位置
</VirtualHost>
<VirtualHost 192.168.10.110:80>
ServerAdmin mail@www.lg2.com
DocumentRoot /www/docs/lg2
ServerName www.lg2.com
ErrorLog logs/lg2-error_log
CustomLog logs/lg2-access_log common
</VirtualHost>
#/etc/httpd/conf/httpd.conf
Listen 80
Listen 8080
<VirtualHost 192.168.10.110:80>
ServerAdmin mail@www.lg80.com
DocumentRoot /www/docs/lg80
ServerName www.lg80.com
ErrorLog logs/lg80-error_log
CustomLog logs/lg80-access_log common
</VirtualHost>
<VirtualHost 192.168.10.110:8080>
ServerAdmin mail@www.lg8080.com
DocumentRoot /www/docs/lg8080
ServerName www.lg8080.com
ErrorLog logs/lg8080-error_log
CustomLog logs/lg8080-access_log common
</VirtualHost>
修改主配置文件
创建指定的站点目录并添加主页
重启服务
修改客户端C:\Windows\System32\drivers\etc\hosts文件
测试
##/etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.10.110:80 #指定域名虚拟主机的地址及端口,若无则ServerName不生效
<VirtualHost 192.168.10.110:80>
ServerAdmin mail@web1.lg.com
DocumentRoot /www/docs/lgweb1 #站点根目录
ServerName web1.lg.com #站点对应的域名
ErrorLog logs/lgweb1-error_log
CustomLog logs/lgweb1-access_log common
</VirtualHost>
<VirtualHost 192.168.10.110:80>
ServerAdmin mail@web2.lg.com
DocumentRoot /www/docs/lgweb2
ServerName web2.lg.com
ErrorLog logs/lgweb2-error_log
CustomLog logs/lgweb2-access_log common
</VirtualHost>
相关模块mod_deflate
启用压缩后能够节约服务器带宽,但需要消耗额外的CPU(部分浏览器旧版本不支持)
#/etc/httpd/conf.d/gzip.conf
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6 #压缩率, 6是建议值
AddOutputFilterByType DEFLATE text/plain #定义压缩的资源类型
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp
</ifmodule>
标签:删除 基于域名的虚拟主机 优化 def 处理 css none let passwd命令
原文地址:https://www.cnblogs.com/lastyear/p/11760879.html