问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何配置Nginx,Apache服务器的alias和密码认证

发布网友 发布时间:2022-04-25 22:12

我来回答

1个回答

热心网友 时间:2022-06-18 00:57

从年前电脑换成linux系统后就没写东西,最近有点懒,在这里讲述下nginx alias 功能,不是server alias .
首先看下看下apache 别名 怎么配置的:
<VirtualHost *:80>
DocumentRoot /www/hou.net/www 这是虚拟主机的根目录吧,但是phpMYadmin 不在这个目录下,想访问。
ServerName www.hou.net
ServerAlias hou.net
Alias /sdb "/www/public/phpMyAdmin/" 就需要 别名功能,:http://www.hou.com/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;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/tuangou$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /404.php;
error_page 403 /404.php;
access_log /logs/tuan_access.log main;
}
针对目录的认证,在一个单独的location中,并且在该location中嵌套一个解释php的location,否则php文件不会执行并且会被下载。auth_basic在嵌套的location之后。
server {
listen 80;
server_name tuan.xywy.com;
root /www/tuangou;
index index.html index.htm index.php;
autoindex on;
location ~ ^/admin/.* {
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/tuangou$fastcgi_script_name;
include fastcgi_params;
}
root /www/tuangou/ ;
auth_basic "auth";
auth_basic_user_file htpasswd.file;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
access_log /logs/tuan_access.log main;
}
三.nginx alias功能配置自动列目录
server {
listen www.hou.com:88;
server_name www.hou.com;
autoindex on; //开启列目录功能。
# charset gbk;
location /club { 访问的名字http://www.hou.com:88/club
alias /www/clublog/club.xywy.com/; 这是服务器上存放日志的地方
} 这段意思 访问www.hou.com:88/club 就看到club目录的东东了。
location /{
root /www/access;
这段location 也可以没有 www.hou.com:88 出来的是默认nxing 页面
# index index.html index.htm index.php;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
上面nginx配置意思就是: 访问http://hou.xywy.com/:88认证进去是默认访问服务器上/www/access/里面的目录,认证进去后url=http://hou.xywy.com:88/club 就出来 /www/clublog/club.xywy.com/ 里面的目录的内容了。,可能很绕,仔细分析就好了。
root 和 alias 的区别。
最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rewrite的break。
这样在看这段就很清晰了,
location /abc/ {
alias /home/html/abc/;
}
在这段配置下,http://test/abc/a.html就指定的是/home/html/abc/a.html。这段配置亦可改成
location /abc/ {
root /home/html/;
}
这样,nginx就会去找/home/html/目录下的abc目录了,得到的结果是相同的。
但是,如果我把alias的配置改成:
location /abc/ {
alias /home/html/def/;
}
那么nginx将会从/home/html/def/取数据,这段配置还不能直接使用root配置,如果非要配置,只有在/home/html/下建立一个 def->abc的软link(快捷方式)了。
一般情况下,在location /中配置root,在location /other中配置alias是一个好习惯。
至于alias和root的区别,我估计还没有说完全,如果在配置时发现奇异问题,不妨把这两者换换试试。
刚开始我也搞来高去搞了很久包括认证单独一个目录 CGI 问题,希望大家成功。出现问题可以向我咨询大家共同进步!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何理解“时间就是空间,空间就是时间”? 办公室副主任竞聘演讲稿范文 学校办公室主任竞聘演讲稿范文 最新办公室主任竞聘演讲稿 办公室主任竞聘演讲稿优秀范文 ...堆墨现象,墨线 接地和粘度都正常,请问应如何解决 ...都正常了开始喷印结果喷一条墨线好恐怖怎么解决呀各位老师 威力喷码机 求一份学生会演讲词 大学学生会个人优秀演讲稿 如何配置Nginx,Apache服务器的alias和密码认证 LAMP和LNMP区别是什么? 3DMAX怎么注册表编辑器里删除 怎样彻底清除安装3DMAX时的注册表 ubuntu安装lnmp成功了,但是一点击phpmyadmin就出现 502 Bad Gateway... 怎么删除3Dmax原来注册信息? phpmyadmin打不开(502 bad gateway),怎么备份网站数据库到本地?网站是放在vps上的。 [已解决]phpmyadmin导入数据库最后总是提示502 Bad Gateway? Phpmyadmin导出数据最后总是提示502 Bad Gateway怎么解决 Phpmyadmin导出数据最后总是提示502 Bad Gateway怎么解决? 安装phpmyadmin 遇到502 Bad Gateway 42度汾酒475ml 12瓶 能保存多长时间 42度白酒有收藏价值吗? 低度汾酒42度能保存三年吗 现在生产的白酒是否有保质期?最多能存放多久? 40度白酒可以长期保存吗? 42度白酒存一年少多少度 我买了一些白酒,42度的,想留15年,不知可不可以? 42度十三年的酒还能喝吗? 一箱42度白酒放了十年能喝吗? 3dmax的注册机怎摸删除啊 如何清除3DMAX9.0在注册表的注册信息??看清楚题目哦! 百度访问日志中的GET / HTTP/1.1中是什么意思? 百度访问日志中的GET / HTTP/1.1中是什么意思? 怎么彻底删除3D MAX 9(所有的文件信息,包括最初的注册信息) LINUX LNMP 一键安装的php 怎么升级 LINUX LNMP 一键安装的php 怎么升级 mac 下有没有类似 lnmp 的一键包 mac 下有没有类似 lnmp 的一键包 3ds max 怎么删除注册表? 3DMAX2009许可文件在哪?就是删除掉需要重新注册的那个! tf乌木香水100毫升底部有一个A87是什么意思? 番禺东环街江南新邨幼儿园保育员招聘 TF香水盒子底部A60 20168是什么意思? 小米滑板车升级版本后标准认证失败登陆不了 小米滑板车刷机后会怎样 在家自己烧烤,怎么做才好吃 小米滑板车什么时候有升级版 车子被人恶意划了怎么办? 车被别人故意划了怎么处理