我最近创建了使用亚马逊的Linux AMI一个新的Amazon EC2实例。 什么是强制访问域允许访问网站之前输入用户名/密码的用户的最佳方法是什么?
我目前使用的Apache HTTP服务器,并看到了一些资源,表明我需要使用.htaccess文件,但一直在寻找一个更简洁的解释。
我最近创建了使用亚马逊的Linux AMI一个新的Amazon EC2实例。 什么是强制访问域允许访问网站之前输入用户名/密码的用户的最佳方法是什么?
我目前使用的Apache HTTP服务器,并看到了一些资源,表明我需要使用.htaccess文件,但一直在寻找一个更简洁的解释。
如果你正在寻找的是服务器级别的访问控制(即没有修改您的应用程序),你可以使用基本身份验证。 这是在Apache网页服务器级别执行,如果使用.htaccess文件期望可以在目录由目录为单位来控制。
下面是Apache的文档的链接
http://httpd.apache.org/docs/2.2/howto/auth.html
下面是如何实现一个简单的例子
http://doc.norang.ca/apache-basic-auth.html
创建于要被保护的文件夹下面的.htaccess文件:
AuthType Basic AuthName "Password Protected Area" AuthUserFile /var/www/admin/.htpasswd Require valid-user
创建一个.htpasswd
在同一文件中,或优选的文件夹即外/var/www
。
为了演示,我用上面的虚拟路径。 该htpasswd文件应该包含您的密码盐使用这种发电机来创建.htpasswd
文件。
假设你正在使用Ubuntu,则必须通过这个文件,使htaccess的覆盖: /etc/apache2/sites-available/default
更改设置“AllowOverride无”到有“AllowOverride全部”中:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
注意:您可能需要通过命令行的SSH编辑: sudo nano /etc/apache2/sites-available/default
sudo /etc/init.d/apache2 reload
你需要生成一个密码,用户名+口令字符串进行身份验证,并将其写入文件。
AuthType Basic AuthName "Require Authentication" AuthUserFile [PATH_TO_FILE]/.htpasswd Require valid-user
如果密码没有被触发,检查.htaccess文件的权限。
如果authetication失败,请检查htpasswd文件是否存在等在指定的位置。 (请确保您的用户帐户对htpasswd文件足够的权限读取)
你并不需要重新启动服务器,以实现这一目标。
希望这可以帮助。
gnerate加密的密码,并添加到htpasswd文件
$ htpasswd -nbm username Password
.htaccess文件条目
AuthType Basic
AuthName "My Protected Area"
AuthUserFile /absolute/path/to/password/file
Require valid-user
欲了解更多详情,请通过这个博客帖子- iCodefy