nginx反向代理目录
目的:域名aa.com访问tomcat项目时,实现指定到固定目录下,直接访问aa.com时报500错误
架构:nginx+tomcat 各一台
配置一:
1 server {
2
3 listen 80;
4 server_name aa.com;
5 root html;
6 index index.html index.htm index.php index.jsp;
7 location / {
8
9 proxy_pass http://192.168.0.11:8080;
10 }
11 }
配置一实现的状态是,直接访问项目首页,正常代理
配置二:
1 server {
2
3 listen 80;
4 server_name aa.com;
5
6 root html;
7
8 index index.html index.htm index.php index.jsp;
9
10 location / {
11 return 500;
12 }
13
14 location /upload {
15
16 proxy_pass http://192.168.0.11:8080/upload/;
17 }
18 }
配置二实现的状态是,aa.com访问时返回server500错误,只能访问aa.com/upload以及upload下边的目录,将其访问控制在upload目录下边。
配置三:
1 server {
2
3 listen 80;
4 server_name aa.com;
5
6 root html;
7
8 index index.html index.htm index.php index.jsp;
9
10 location / {
11 root /data/WEB;
12 expires 24h;
13 }
14 }
配置三实现状态是,aa.com只能访问在/data/WEB下边的文件,可以用于静态页面的配置
配置四:
1 server {
2
3 listen 80;
4 server_name aa.com;
5 root html;
6 index index.html index.htm index.php index.jsp;
7 allow 192.168.0.110;
8 allow 192.168.0.210;
9 deny all;
10 location / {
11
12 proxy_pass http://192.168.0.11:8080;
13 }
14 }
配置四实现状态是,只允许192.168.0.110/192.168.0.210两个IP访问aa.com项目
黑白名单设置:
假如我们分析我们的网站被某个固定ip访问
219.143.33.50
只需要一下两部搞定
1:配置需要屏蔽的ip的配置文件
下面说明假定nginx的目录在/usr/local/nginx/conf
首先要建一个封ip的配置文件blockips.conf,然后vi blockips.conf编辑此文件,在文件中输入要封的ip。
deny 219.143.33.50;
deny 192.168.1.110;
2:引入 ip配置文件,然后reload nginx
然后保存此文件,并且打开nginx.conf文件,在http配置节内添加下面一行配置:
include blockips.conf;
保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的:
/usr/local/nginx/sbin/nginx -t
如果配置没有问题,就会输出:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
如果配置有问题就需要检查下哪儿有语法问题,如果没有问题,需要执行下面命令,让nginx重新载入配置文件。
/usr/local/nginx/sbin/nginx -s reload
配置五:
1 server {
2 listen 80;
3 server_name "";
4 return 444;
5 }
或者
1 server {
2 listen 80;
3 return 444;
4 }
或者
1 server {
2 listen 80;
3 server_name _;
4 return 500;
5 }
配置五实现状态是,设置主机名为空字符串以匹配未定义“Host”头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接,不允许IP访问
配置六:
1 server {
2
3 listen 80;
4 listen 443 ssl;
5 server_name aa.com;
6 ssl_certificate /data/pam/200001.pem;
7 ssl_certificate_key /data/pam/200001.key;
8 ssl_session_timeout 5m;
9 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
11 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:
AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
12 ssl_prefer_server_ciphers on;
19 root html;
21 index index.html index.htm index.php index.jsp;
22 ## send request back to apache ##
28 location / {
29
30 proxy_pass http://192.168.0.110:8080;
31 }
32 }
配置六实现状态是,为nginx配置ssl证书用于https的使用
未完待续......
本文出自 “云之上” 博客,请务必保留此出处http://weimouren.blog.51cto.com/7299347/1976525
原文:http://weimouren.blog.51cto.com/7299347/1976525