首页 > 网站 > Apache > 正文

nginx,apache的alias和认证功能

2024-08-27 18:25:43
字体:
来源:转载
供稿:网友
从年前电脑换成linux系统后就没写东西,最近有点懒,在这里讲述下nginx alias 功能,不是server alias .
首先看下看下apache 别名 怎么配置的:

复制代码 代码如下:
<VirtualHost *:80>
DocumentRoot /www/jb51.net/www 这是虚拟主机的根目录吧,但是phpMYadmin 不在这个目录下,想访问。
ServerName www.jb51.net
ServerAlias jb51.net
Alias /sdb "/www/public/phpMyAdmin/" 就需要 别名功能,://www.jb51.net/sdb 这样就安全多了。
<Directory "/www/public/phpMyAdmin/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


一 .Apache认证

认证的类型:Basic
Digest摘要
认证方法:A、容器认证: ……
B、隐藏文件认证创建.htaccess文件
方法一、容器认证
A、 进入配置文件 vi /etc/httpd/conf/httpd.conf
B、 配置:大约在531行附近 配置如下:

AllowOverride None ##不允许通过隐藏认证,即通过容器认证
AuthType Basic ##认证类型为Basic
AuthName “ajian” ##认证名字为Ajian
AuthUserFile /var/www/passwd/pass ##pass 为认证密码文件,指定密码文件存放的位置。
Require valid-user ##有效用户(注意大小写,因为Word的原因有些大小写有变化)
C、 创建目录 mkdir -p /var/www/passwd
进入目录 cd /var/www/passwd
D、创建Apache用户 htpasswd -c pass ajian ##pass 为密码文件Ajian为用户
更改 把Pass文件的使用权给Apache: chown apache.apache pass
附:再在Pass文件中添加一个用户:htpasswd pass tt ##添加一个TT的用户到Pass文件中
E、重启服务并测试
方法二、通过隐藏认证
和上面差不多 不过配置不一样
Httpd主配置文件

AllowOverride AuthConfig
创建隐藏文件并放到要通过认证的目录
Eg: vi /var/www/html/mrtg
AuthType Basic
AuthName “Ajian”
AuthUserFile /var/www/passwd/pass
Require valid-user

下面是例子

 

 

二、Nginx 登录认证

nginx 的 http auth basic 的密码是用 crypt(3) 加密的。用 apache 的 htpasswd 可以生成密码文件。
没有 apache 自行安装。我安装的是 apache2,/usr/local/apach2。
cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #回车输入密码,-c 表示生成文件,-d 是以 crypt 加密。
vi nginx.conf cd /usr/local/nginx/conf /usr/local/apache2/bin/htpasswd -c -d pass_file user_name #回车输入密码,-c 表示生成文件,-d 是以 crypt 加密。 vi nginx.conf 在 nginx.conf 文件中加入授权声明。这里要注意 nginx 0.6.7 开始,auth_basic_user_file 的相对目录是 nginx_home/conf,以前版本的相对目录是 nginx_home。

复制代码 代码如下:
server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on;
auth_basic "input you user name and password";
auth_basic_user_file htpasswd.file;
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表