当前位置 主页 > 服务器问题 > Linux/apache问题 >

    nginx,apache的alias和认证功能

    栏目:Linux/apache问题 时间:2020-02-05 00:00

    从年前电脑换成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;