返回列表 发帖

Windows2008R2_UPUPW_AP5.6_用户授权限制+客户端地址限制+SSL

笺注:这是在 Windows2008R2_UPUPW搭建WordPress+Discuz!7.2  的基础上进行的。


用户授权限制:(对站点目录的访问权限进行设置)
包含认证和授权两个过程,认证是指识别用户身份的过程,授权是允许特定用户访问特定目录区域的过程。


### 针对默认站点的根目录进行用户授权限制

认证数据文件的创建可参考:
Apache2.4基于域名的虚拟主机+用户授权限制+客户端地址限制

上传认证数据文件:(文件名是自定义的)
图片1.png

格式:
用户名:密码
图片2.png
注释:用户名、密码可以在这里直接修改。



Apache的虚拟主机的配置文件:
D:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf
图片3.png

关于默认站点的配置代码:
图片4.png

修改为:
图片5.png

相关代码:
<Directory "D:/UPUPW_AP5.6/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
        authname "Webadmin Directory"
        authtype      basic
        authuserfile  D:\UPUPW_AP5.6\Apache2\conf\admin
        require valid-user
</Directory>


保存文件后,重启Apache使更改生效:
图片6.png

图片7.png



Windows客户端远程测试:
http://192.168.168.129/
图片8.png

图片9.png


笺注:用户授权限制不会影响子目录的访问的,也就是说,访问子目录就不需要进行用户验证。

登录phpMyAdmin:
http://192.168.168.129/pmd/
图片10.png

图片11.png





### 针对虚拟主机的根目录进行用户授权限制
上传认证数据文件:(文件名是自定义的)
图片12.png

格式:
用户名:密码
图片13.png
注释:用户名、密码可以在这里直接修改。


Apache的虚拟主机的配置文件:
D:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf
关于站点bbs.zhuohua.store的配置代码:
图片14.png

修改为:
图片15.png

相关代码:
<Directory "D:/UPUPW_AP5.6/vhosts/bbs.zhuohua.store">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    allow from all
        authname "Welcome to zhuohua"
        authtype        basic
authuserfile    D:\UPUPW_AP5.6\Apache2\conf\admin_discuz
        require valid-user
</Directory>

保存文件后,记得重启Apache使更改生效。


Windows客户端远程测试:
http://bbs.zhuohua.store/
图片16.png

图片17.png














######

客户端地址限制(针对客户端的IP地址,对站点某些目录的访问权限进行设置)
Order allow,deny :先允许后拒绝,默认拒绝所有未明确允许的客户端IP地址
Order deny,allow :先拒绝后允许,默认允许所有未明确拒绝的客户端IP地址

例子一:仅仅允许客户端使用IP地址192.168.168.127、192.168.168.128访问默认站点的根目录
Apache的虚拟主机的配置文件:
D:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf

修改默认站点的配置代码:
图片18.png

相关代码:
    Order allow,deny
    allow from 192.168.168.127 192.168.168.128

保存文件后,记得重启Apache使更改生效。



客户端使用未被允许的IP地址,访问默认站点的根目录里的文件时:
http://192.168.168.129/
图片19.png


但不会影响客户端使用未被允许的IP地址,访问默认站点的子目录里的文件:
图片20.png





例子二:仅仅允许客户端使用IP地址192.168.168.127、192.168.168.128访问站点bbs.zhuohua.store的根目录

Apache的虚拟主机的配置文件:
D:\UPUPW_AP5.6\Apache2\conf\httpd-vhosts.conf
修改站点bbs.zhuohua.store的配置代码:
图片21.png

相关代码:
    Order allow,deny
    allow from 192.168.168.127
    allow from 192.168.168.128

保存文件后,记得重启Apache使更改生效。


客户端使用未被允许的IP地址,访问站点bbs.zhuohua.store的根目录里的文件时:
http://bbs.zhuohua.store
图片22.png


客户端使用未被允许的IP地址,访问站点bbs.zhuohua.store的子目录里的文件时:
http://bbs.zhuohua.store/admin/1.html
图片23.png














Apache配置SSL

要在防火墙手动新建入站规则,打开TCP 443端口:
图片24.png

图片25.png



SSL证书文件的创建可参考:
Apache2.4域名跳转+防盗链+SSL

上传SSL证书文件:(文件名是自定义的)
图片26.png



编辑Apache的主配置文件:
D:\UPUPW_AP5.6\Apache2\conf\httpd.conf

找到以下3行代码,去掉前面的#
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

以下保持默认:
图片27.png



查看Apache的配置文件httpd-listen.conf:(保持默认)
D:\UPUPW_AP5.6\Apache2\conf\httpd-listen.conf
图片28.png



编辑Apache的SSL配置文件:
D:\UPUPW_AP5.6\Apache2\conf\extra\httpd-ssl.conf

监听端口:(保持默认)
图片29.png

以下这一大片默认就有的代码要删除:
图片30.png


追加默认站点的配置代码:
图片31.png

相关代码:
<VirtualHost *:443>
    DocumentRoot "D:/UPUPW_AP5.6/htdocs"
    ServerName 127.0.0.1:443
    ServerAlias localhost
    ServerAdmin webmaster@example.com
    DirectoryIndex index.html index.htm index.php default.php app.php u.php
    ErrorLog logs/localhost_error.log
    CustomLog logs/localhost_access.log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    SSLEngine on
    SSLCertificateFile "conf/zhuohua.crt"
    SSLCertificateKeyFile "conf/zhuohua.key"
<Directory "D:/UPUPW_AP5.6/htdocs">
    SSLOptions +StdEnvVars
    AllowOverride All
    Require all granted
</Directory>
<FilesMatch "\.(shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
</VirtualHost>

保存文件后,记得重启Apache使更改生效。



Windows客户端远程测试:
https://192.168.168.129/
图片32.png

图片33.png

图片34.png





编辑Apache的SSL配置文件:
D:\UPUPW_AP5.6\Apache2\conf\extra\httpd-ssl.conf

追加站点bbs.zhuohua.store的配置代码:
图片35.png

相关代码:
<VirtualHost *:443>
    DocumentRoot "D:/UPUPW_AP5.6/vhosts/bbs.zhuohua.store"
    ServerName bbs.zhuohua.store:443
    ServerAlias www.zhuohua.store
    ServerAdmin webmaster@example.com
    DirectoryIndex index.html index.htm index.php default.php app.php u.php
    ErrorLog logs/bbs.zhuohua.store_error.log
    CustomLog logs/bbs.zhuohua.store_access.log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    SSLEngine on
    SSLCertificateFile "conf/zhuohua.crt"
    SSLCertificateKeyFile "conf/zhuohua.key"
<Directory "D:/UPUPW_AP5.6/vhosts/bbs.zhuohua.store">
    SSLOptions +StdEnvVars
    AllowOverride All
    Require all granted
</Directory>
<FilesMatch "\.(shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
    BrowserMatch "MSIE [2-5]" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0
</VirtualHost>

保存文件后,记得重启Apache使更改生效。



Windows客户端远程测试:

访问站点的主机名:
https://bbs.zhuohua.store/
图片36.png

图片37.png


访问站点的主机别名:
https://www.zhuohua.store/
图片38.png

图片39.png





笺注:
配置了SSL后,不会影响HTTP的访问:
http://192.168.168.129/
图片40.png


http://bbs.zhuohua.store/
图片41.png





相关文章:
Windows2012R2_UPUPW_AP5.6+Winmail
Windows2008R2_IIS基础+SSL

返回列表