你好,游客 登录 注册 搜索
背景:
阅读新闻

Nginx默认虚拟主机、用户认证、域名重定向

[日期:2018-01-03] 来源:Linux社区  作者:zenw [字体: ]

Nginx默认虚拟主机定义默认虚拟主机配置文件,在http下面加入include vhost/*.conf

在/usr/local/nginx/conf/下创建目录

#mkdir vhost/                           //创建vhost目录
#cd vhost/                              //进入目录
#vim aaa.com.conf                                       //编辑文件

server
{
listen 80 default_server; // 有这个标记的就是默认虚拟主机
server_name aaa.com;
index index.html index.htm index.php;
root /data/wwwroot/default;
}

#mkdir /data/wwwroot/default                  //创建目录
#echo “This is a default site.”>/data/wwwroot/default/index.html
#/usr/local/nginx/sbin/nginx  -t                    //检测语句是否正确
#/usr/local/nginx/sbin/nginx  -s reload             //重新加载nginx
#curl   -x127.0.0.1:80    aaa.com                          //测试
                                      Nginx用户认证
#vim /usr/local/nginx/conf/vhost/test.com.conf             //写入如下内容
server
{    
     listen 80;    
     server_name test.com;    
     index index.html index.htm index.php;    
     root /data/wwwroot/test.com;    

location  /    
  {        
        auth_basic              "Auth";        
        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;               //密码所在的位置文件
}
}

htpasswd是apache的一个工具,该工具主要用于建立和更新存储用户名、密码的文本文件,主要用于对基于http用户的认证。htpasswd的安装很简单,它是随apache的安装而生成。

#yum install -y httpd                                                  //下载httpd包
#htpasswd -c /usr/local/nginx/conf/htpasswd zenwen                      //生成密码文件
#/usr/local/nginx/sbin/nginx  -t &&  -s reload                      //测试配置并重新加载
#mkdir /data/wwwroot/test.com                                 //创建目录
#echo “test.com”>/data/wwwroot/test.com/index.html
#curl -x127.0.0.1:80 test.com -I                                          //状态码为401说明需要验证

#curl -uzenwen:passwd -x127.0.0.1:80 test.com -I               // 访问状态码变为200

针对目录的用户认证
当访问admin时,只需要在location /加上admin目录就可以对admin进行用户的验证
location  /admin/    
    {       
            auth_basic              "Auth";        
            auth_basic_user_file   /usr/local/nginx/conf/htpasswd;
}
                                                  nginx域名重定向
更改test.com.conf
server{    
         listen 80;    
         server_name test.comtest1.comtest2.com;    
         index index.html index.htm index.php;    
         root /data/wwwroot/test.com;    
         if ($host != 'test.com' ) {       
              rewrite  ^/(.*)$  http://test.com/$1  permanent;    
    }
}

server_name后面支持写多个域名,这里要和httpd做一个对比

permanent为永久重定向,状态码为301,如果写redirect则为302
# /usr/local/nginx/sbin/nginx  -t                  //检测语法
#/usr/local/nginx/sbin/nginx  -s reload           //重新加载
#curl -x127.0.0.1:80 test2.com/index.html  -I                      //测试

HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.1
Date: Wed, 03 Jan 2018 02:45:07 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: http://test.com/index.html //直接重定向到了test.com

#curl -x127.0.0.1:80 test1.com/index.html  -I                     //显示状态码为301

HTTP/1.1 301 Moved Permanently
Server: nginx/1.12.1
Date: Wed, 03 Jan 2018 06:53:13 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: http://test.com/index.html

下面关于Nginx的文章您也可能喜欢,不妨参考下:

Nginx 403 forbidden的解决办法  http://www.linuxidc.com/Linux/2017-08/146084.htm

CentOS 7下Nginx服务器的安装配置  http://www.linuxidc.com/Linux/2017-04/142986.htm

CentOS上安装Nginx服务器实现虚拟主机和域名重定向  http://www.linuxidc.com/Linux/2017-04/142642.htm

CentOS 6.8 安装LNMP环境(Linux+Nginx+MySQL+PHP)  http://www.linuxidc.com/Linux/2017-04/142880.htm

Linux下安装PHP环境并配置Nginx支持php-fpm模块  http://www.linuxidc.com/Linux/2017-05/144333.htm

Nginx服务的SSL认证和htpasswd认证  http://www.linuxidc.com/Linux/2017-04/142478.htm

Ubuntu 16.04上启用加密安全的Nginx Web服务器  http://www.linuxidc.com/Linux/2017-07/145522.htm

Linux中安装配置Nginx及参数详解  http://www.linuxidc.com/Linux/2017-05/143853.htm

Nginx日志过滤 使用ngx_log_if不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm

CentOS 7.2下Nginx+PHP+MySQL+Memcache缓存服务器安装配置  http://www.linuxidc.com/Linux/2017-03/142168.htm

CentOS6.9编译安装Nginx1.4.7  http://www.linuxidc.com/Linux/2017-06/144473.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2018-01/150064.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款