【发布时间】:2017-05-03 13:53:00
【问题描述】:
我是littleproxy的初学者,如何创建反向代理服务器?
我的代理从客户端获取请求并将它们发送到服务器(服务器仅与 www.xxx.com 相同的常规站点仅包含网页(不休息)并且代理从服务器(网页)获取响应并返回到客户。
例如,客户端 url 为 localhost:8080/x,代理将其映射到 www.myserver.com/xy 并为客户端显示 xy 页面。如何通过使用过滤器或 httpservlet 来做到这一点。
我的 http servlet 如下:
public class ProxyFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpProxyServer server =
DefaultHttpProxyServer.bootstrap()
.withPort(8080)
.withFiltersSource(new HttpFiltersSourceAdapter() {
public HttpFilters filterRequest(HttpRequest originalRequest, ChannelHandlerContext ctx) {
return new HttpFiltersAdapter(originalRequest) {
@Override
public HttpResponse clientToProxyRequest(HttpObject httpObject) {
// TODO: implement your filtering here ????
return null;
}
@Override
public HttpResponse proxyToServerRequest(HttpObject httpObject) {
// TODO: implement your filtering here ????
return null;
}
@Override
public HttpObject serverToProxyResponse(HttpObject httpObject) {
// TODO: implement your filtering here ????
return httpObject;
}
@Override
public HttpObject proxyToClientResponse(HttpObject httpObject) {
// TODO: implement your filtering here ????
return httpObject;
}
};
}
})
.start();
}
public void init(FilterConfig config) throws ServletException {
}
public void destroy() {
}
}
【问题讨论】:
标签: java filter proxy little-proxy