public BasicDBObject parseSort(String str) {
BasicDBObjectBuilder ret = BasicDBObjectBuilder.start();
String[] parts = str.split(",");
MappedClass mc = ds.getMapper().getMappedClass(clazz);
for (String s : parts) {
s = s.trim();
int dir = 1;
if (s.startsWith("-")) {
dir = -1;
s = s.substring(1).trim();
}
s = mc.getMappedFieldByJavaField(s).getNameToStore();
ret = ret.add(s, dir);
}
return (BasicDBObject) ret.get();
}
正向代理是一个位于客L和原始服务器(origin server)之间的服务器Qؓ了从原始服务器取得内容,客户端向代理发送一个请求ƈ指定目标(原始服务?Q然后代理向原始服务器{交请求ƈ获得的内容q回l客L。客L必须要进行一些特别的讄才能使用正向代理?/p>
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用~冲Ҏ?由mod_cache提供)减少|络使用率?/p>
使用ProxyRequests指o卛_ȀzL向代理。因为正向代理允许客L通过它访问Q意网站ƈ且隐藏客L自nQ因此你必须采取安全措施以确保仅为经q授权的客户端提供服务?br />
注意Q在您没有对服务器采取安全措施之前,请不要用ProxyRequests启用代理。一个开攄代理服务器不仅对您的|络有威胁,Ҏ个因特网来说也同样如此?br />
反向代理正好相反Q对于客L而言它就像是原始服务器,q且客户端不需要进行Q何特别的讄。客L向反向代理的命名I间(name-space)中的内容发送普通请求,接着反向代理判断向何处(原始服务?转交hQƈ获得的内容q回l客LQ就像这些内容原本就是它自己的一栗?/p>
反向代理的典型用途是防火墙后面的服务器提供lInternet用户讉K。反向代理还可以为后端的多台服务器提供负载^衡,或ؓ后端较慢的服务器提供~冲服务。另外,q可以启用高UURL{略和管理技术,从而处于不同web服务器系l的web面同时存在于同一个URLI间下?/p>
可以使用ProxyPass指oȀzd向代?在RewriteRule指o中用[P]标记也可?。配|反向代理ƈ不需要打开ProxyRequests指o?/p>
正向代理
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from internal.example.com
</Proxy>
反向代理
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 http://server:port/app2
ProxyPassReverse /app1 http://server:port/app2
因此Q我们可以用反向带来实现apache和tomcatQwebphere,weblogic{应用服务器的集成。但是由于apache 反向代理只做 HTTP 透明转发Q因此应用中的连接都应该是相对\径,不应该用绝对\径,更不能用带应用上下文?br />
如果后端应用中?lt;c:url{生成绝对\径的应用Q最好是转发的办法就是让转发的上下文呢和目标的上下文一致。这样就可以避免路径的问题?br />
调试apacheQ最好用命o行执行httpd.exe -w -n “Apache” -k startQ在控制C会显C哪行配|有错,在monitor 中没有这个功能?br />
关于l常的提C端口被l定或者被占用Q一般可以通过netstat -ano查找到占?0端口的PIDQ再MQ务管理器查看对应PID的进E,对进E进行操作和处理?/p>
另外Q要使用代理功能Q别忘了下面两个模块的装蝲注释LQ?br />
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so