博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx用户认证与域名重定向
阅读量:6874 次
发布时间:2019-06-26

本文共 1643 字,大约阅读时间需要 5 分钟。

笔记内容:

  • 12.8 Nginx用户认证
  • 12.9 Nginx域名重定向

笔记日期:2017.10.19


<br>

12.8 Nginx用户认证


Nginx用户认证与域名重定向

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;  //用户名和密码文件的路径     }}

Nginx用户认证与域名重定向

创建test.com目录:

mkdir /data/wwwroot/test.com

创建一个索引页文件:

echo "test.com" > /data/wwwroot/test.com/index.html

安装httpd:

yum install -y httpd

然后使用httpd里的htpasswd 命令去生成一个用户密码文件:

htpasswd -c /usr/local/nginx/conf/htpasswd user1

生成完成后cat一下htpasswd 文件可以看到如下内容:

Nginx用户认证与域名重定向

如果再次添加用户的话就不需要加上-c选项了,加上-c选项会覆盖原来的htpasswd 文件。

生成完用户密码文件之后,就重新加载配置文件:

/usr/local/nginx/sbin/nginx -t

/usr/local/nginx/sbin/nginx -s reload

使用curl命令测试一下是否配置成功,状态码为401代表成功:

Nginx用户认证与域名重定向

然后使用-u指定用户名和密码去访问,状态码为200代表成功:

Nginx用户认证与域名重定向

以上我们配置的是整个站点的用户认证,但是如果不需要整个站点都要用户认证,只有单独的某个站点下的目录需要进行用户认证,那么如何配置?

示例:
例如我要指定对admin目录进行用户认证,修改虚拟主机配置文件如以下内容即可:
Nginx用户认证与域名重定向

现在访问test.com就不会需要进行用户认证了,可以看到状态码为200:

Nginx用户认证与域名重定向

但是访问test.com下的admin目录就会需要进行用户认证了,可以看到状态码为401:

Nginx用户认证与域名重定向
这时候就需要指定用户名和密码才能访问这个目录了。

<br>

除了控制目录外,还可以控制目录下的文件,例如我要控制访问admin.php文件时需要进行用户认证,修改虚拟主机配置文件如以下内容:
Nginx用户认证与域名重定向
~ 表示根,表示整个站点

这时候使用curl访问admin目录下的admin.php文件时就需要进行用户认证了,可以看到状态码为401:

Nginx用户认证与域名重定向

<br>

12.9 Nginx域名重定向


Nginx用户认证与域名重定向

修改配置文件为以下内容:

server{    listen 80;    server_name test.com test1.com test2.com;    index index.html index.htm index.php;    root /data/wwwroot/test.com;    if ($host != 'test.com' ) {        rewrite  ^/(.*)$  http://test.com/$1  permanent;    }}

Nginx用户认证与域名重定向

重新加载配置文件:

Nginx用户认证与域名重定向

使用curl访问test2.com,状态码为301,并且重定向的目标域名是test.com就代表成功了:

Nginx用户认证与域名重定向

<br>

扩展


nginx.conf 配置详解

<br>

nginx rewrite四种flag

转载于:https://blog.51cto.com/zero01/2046823

你可能感兴趣的文章
JQuery Ajax 的简单使用
查看>>
Swift与Objective-C的对比
查看>>
【SICP练习】145 练习4.1
查看>>
JavaScript语言精粹读书笔记 - JavaScript函数
查看>>
sqlserver error 40解决方案
查看>>
Chapter 3. ASP.NET Reapter数据控件
查看>>
python进行mp3格式判断
查看>>
Codeforces Round #287 (Div. 2) ABCDE
查看>>
ios Debug
查看>>
【转载】读懂IL代码就这么简单(二)
查看>>
09-JS的事件流的概念(重点)
查看>>
有关inline-block
查看>>
文献随笔(九)
查看>>
git相关
查看>>
加入大型的js文件如jQuery文件,Eclipse会报错
查看>>
POJ 2763 (树链剖分+边修改+边查询)
查看>>
全局变量---只创建一次
查看>>
IOS APP上下黑边问题
查看>>
数位dp题集
查看>>
4-删除、更名
查看>>