yao000 发表于 2018-11-27 09:19:39

apache认证

apache认证  有时候某些目录下的文件需要增加认证,Apache缺省的认证模块都是很完备的,以下就是一个通过.htaccess文件增加用户认证的例子。即使对于虚拟主机用户也可以通过上传一些文件来实现认证控制。
  
  ServerAdmin webmaster@xxx.com.cn
  DocumentRoot /data/mrtgwww/
  ServerName mrtg.xxc.com.cn
  # ErrorLog logs/dummy-host.example.com-error_log
  # CustomLog logs/dummy-host.example.com-access_log common
  
  Options Indexes FollowSymLinks
  AllowOverride AuthConfig
  Order allow,deny
  Allow from all
  
  
  首先用htpasswd创建一个密码文件:比如文件名叫做my.passwd
  /home/apache/bin/htpasswd -c -b my.passwd myusername mypassword
  如果增加帐号:
  /home/apache/bin/htpasswd -b my.passwd anotherusername anotherpassword
  将my.passwd上传到一个非发布路径下。
  比如你的物理WEB根目录的上一级
  /home/apache/conf/my.passwd
  创建 .htaccess
  AuthName "My Authorization Directory"
  AuthType Basic
  AuthUserFile /home/apache/conf/my.passwd
  Require valid-user
  将这个文件上传到你需要进行用户认证的目录:
  /home/apache/htdocs/admin/.htaccess
  这样这个目录的访问就需要认证了。
  -c 创建密码文件
  # ./htpasswd --help
  Usage:
  htpasswd [-cmdpsD] passwordfile username
  htpasswd -b passwordfile username password
  htpasswd -n username
  htpasswd -nb username password
  -cCreate a new file.
  -nDon't update file; display results on stdout.
  -mForce MD5 encryption of the password.
  -dForce CRYPT encryption of the password (default).
  -pDo not encrypt the password (plaintext).
  -sForce SHA encryption of the password.
  -bUse the password from the command line rather than prompting for it.
  -DDelete the specified user.
  vi httpd.conf
  Alias /ganglia "/Data/webapps/monitor.360quan.com/ganglia"
  
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Ganglia Access"
  AuthType Basic
  AuthUserFile /Data/apps/httpd-2.2.8/conf/my.passwd
  #AuthUserFile /Data/apps/nagios/etc/htpasswd.users
  Require valid-user
  

页: [1]
查看完整版本: apache认证