linux路径转发nginx简单配置实例
直接替换nginx.conf文件即可
user root;
events {
worker_connections 1024; ## Default: 1024
}
http {
server {
listen 80;
autoindex on;
server_name localhost;
location / {
root /an;
index index.html index.htm;
}
}
}
如图所示:
使用HTTP基本身份验证限制访问
不同的路径都可以设置不同的端口、密码文件
1、使用apache-2 utils创建用户密码文件,没有安装的可以观看apache2
[root@h1 nginx]# htpasswd -c /etc/apache2/.htpasswd huowen
New password:
Re-type new password:
Adding password for user huowen
输入两次相同密码,并保证/etc/apache2
路径已存在。
2、查看用户密码文件,包含用户名和每个记录的加密密码
[root@h1 ~]# cat /etc/apache2/.htpasswd
huowen:REMfHOam6lEsQ
[root@h1 ~]#
3、验证防火墙
[root@h2 ~]# telnet 192.168.137.11 8080
Trying 192.168.137.11...
Connected to 192.168.137.11.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
如果没有通过,或者拒绝连接,把相应的端口打开
[root@h1 ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
配置文件
user root;
events {
worker_connections 1024; ## Default: 1024
}
http {
server {
listen 8080;
autoindex on;
server_name localhost;
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/apache2/.htpasswd;
location / {
root /an;
index index.html index.htm;
auth_basic on;
}
}
}
wget命令
[root@h2 ~]# wget --http-user=yl --http-passwd=123456 http://192.168.137.11:8080/a.txt
HTTP基本认证可以有效地与IP地址的访问限制相结合。
您可以实施至少两种情况:
- 用户必须经过身份验证并具有有效的IP地址
- 用户必须经过身份验证,或者拥有有效的IP地址
satisfy all;
设置为all,为第一种情况。
设置为any,为第二种情况。
基于上面的用户认证和防火墙通过测试,直接给出配置
user root;
events {
worker_connections 1024; ## Default: 1024
}
http {
server {
listen 192.168.137.11:8080;
root /an;
server_name localhost;
autoindex on;
location / {
satisfy all;
deny 192.168.137.12;
allow 192.168.137.1/24;
allow 127.0.0.1;
deny all;
auth_basic "Administrator’s Area";
auth_basic_user_file /etc/apache2/.htpasswd;
}
}
}
deny为拒绝通过的ip或者ipduan
allow为允许通过的ip或者ip段
验证
nginx在192.169.137.11上启动,192.169.137.12和192.169.137.13都可以访问192.169.137.11的8080端口
- 如果satisfy为all,则192.169.137.13可以访问或者wget192.169.137.11文件,而192.169.137.12不可以
- 如果satisfy为any,则192.169.137.12和192.169.137.13都可以访问或者wget192.169.137.11文件
网友评论