🏡作者主页:点击!
🤖Linux专栏:点击!
⏰️创作时间:2024年11月20日11点21分
静态资源
Apache配置静态资源
可以在网页上配置一个静态的FTP服务器,让用户访问网页获取相对应的文件
mkdir -p /website/test #创建相对应的文件 echo "This is the first resource for this website" > /website/test/test1 ln -s test1 test2 #创建软链接test2 vi /etc/httpd/conf.d/website.conf <Directory "/website"> Options Indexes FollowSymlinks #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软 连接文件 AllowOverride None #允许完全访问 #Allow open access: Require all granted #任意访问 </Directory> <Directory "/test"> #此处的 Test 的 Website目录下的test Options Indexes FollowSymlinks #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软 连接文件 AllowOverride None #允许完全访问 #Allow open access: Require all granted #任意访问 </Directory> :wq systemctl restart httpd #重启服务即可,之后就实现了最终效果 #浏览器输入 http://192.168.100.148:1000/test----就能看见对应的目录下的文件 #当 /website/test中不包含 demo.html 是时候才会通过 Options 链接文件,把目录文件当做静态资源 DirectoryIndex demo.html alias /demo "/website/test" #设置别名,访问 https://192.168.100.148:1000/demo,也就是访问 /website/test
权限设置
Apache静态页面设置权限
#方式1 #直接在配置文件里面进行权限规定 vi /etc/httpd/conf.d/website.conf <Directory "/website/test"> #此处的 Test 的 Website目录下的test,控制权限就需要用完整路径了 Options Indexes FollowSymlinks #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软 连接文件 #AllowOverride None #将完全允许完全访问注释掉 #Allow open access: #Require all granted #将任意访问权限注释掉 <RequireAll> Require all granted Require not ip 222.139.31.81 #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径 </RequireAll> </Directory> :wq systemctl restart httpd #重启服务即可,之后就实现了最终效果
#方式2 #在需要控制访问的目录下创建 .htaccess 文件实现权限规定 vi /etc/httpd/conf.d/website.conf <Directory "/website/test"> #此处的 Test 的 Website目录下的test,控制权限就需要用完整路径了 Options Indexes FollowSymlinks #如果目录下没有index.html文件,就展示当前目录的文件系统,也可以访问目录中软 连接文件 AllowOverride all #将完全允许完全访问开启并设置为all,此时权限就全部放到指定目录的 .htaccess 文件中,不再使用.conf文件来设置权限 #Allow open access: #Require all granted #将任意访问权限注释掉 #<RequireAll> # Require all granted # Require not ip 222.139.31.81 #意思是除了本地公网的IP,其他都可以访问 #</RequireAll> </Directory> :wq vi /website/test/.htaccess #创建访问权限文件,控制哪个就在哪个下面创建对应的文件 <RequireAll> Require all granted Require not ip 222.139.31.81 #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径 </RequireAll> systemctl restart httpd #重启服务即可,之后就实现了最终效果
#方式3(此方法失败) #基于账户设置,限制基于某个用户的访问,需要在页面所在目录进行配置 cd /website/test htpasswd -cb .passwd test admin@123 #在当前的test目录中创建新的htpasswd文件,基于http基本认证,用来做安全保护 vi /website/test/.htaccess <RequireAll> Require all granted Require not ip 222.139.31.81 #意思是除了本地公网的IP,其他都可以访问,此时也要把 /test改成完整的路径 </RequireAll> AuthType Basic #认证类型明文认证 AuthName "http test" #认证提示框显示内容为 http test AuthUserFile "/website/test/.passwd" #密码文件存放的位置 Require user test #用户为test #此时的配置文件有两条访问限制: 1、控制公网IP的访问(当然此时我们没有服务器,配置不配置一样) 2、控制用户的访问 systemctl restart httpd #重启服务即可,之后就实现了最终效果(最后此方法失败)