基于host、基于uri、基于user-agent 反向代理
首先是http头部字段分析:
一、基于host:
server {
listen 80;
server_name www.zhm.com;
location / {
root /tmp/www;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /tmp/404;
}
}
server {
listen 80;
server_name www.zhm2.com;
location / {
root /tmp/www2;
index index.html index.htm;
}
}
二、基于uri
server {
listen 80;
server_name www.zhm.com;
location / {
root /tmp/www;
index index.html index.htm;
}
error_page 404 /404.html;
location = /404.html {
root /tmp/404;
}
location ~* \.php$ {
proxy_pass http://192.168.18.3;
}
location ~* \.jsp$ {
proxy_pass http://192.168.18.2:8080;
}
}
不同的文件交给不同的http服务器来处理
三、基于user-agent
server {
listen 80;
server_name www.zhm2.com;
location / {
proxy_pass http://192.168.18.1;
if ($http_user_agent ~* MSIE ) {
用ie访问跳转至 18.3主机上apache 服务器
proxy_pass http://192.168.18.3;
}
if ($http_user_agent ~* Mozilla ) {
用火狐访问跳转至18.2:8080的tomcat服务器
proxy_pass http://192.168.18.2:8080;
}
root /tmp/www2;
index index.html index.htm;
}
}
四、反向代理
TOMCAT: 1、tomcat和apache 以及nginx 一样都是web服务器的一种,只是tomcat处理jsp的文件,比较有优势,所以一般的jsp模块的用tomcat来处理.安装时候要保证有java环境才行,解决办法就是安装jdk...... 2、PHP单独做成一个服务,以前是和apache安装在一起,由apache调用php的模块,实现单独安装php成一个服务 先安装php后 安装spawn-fcgi 今天所学的其他东西
3、 防盗链:根据http头中的referer字段,看到是否为已经授权的ip或者主机,如果不是则不让使用,最终达到效果 limit_rate 多少k或者多少M;
4、限制下载速度以及限制并发数limit_zone one $binnary_remnote_addr 10m;
limit_conn one 1;对线程的限制 只有一个了。