Tuesday, March 10, 2009

What is Reverse Proxy???

A reverse proxy or surrogate is a proxy server that is installed within the neighborhood of one or more servers. Typically, reverse proxies are used in front of Web servers. All connections coming from the Internet addressed to one of the Web servers are routed through the proxy server, which may either deal with the request itself or pass the request wholly or partially to the main web servers.

There are several reasons for installing reverse proxy servers:

1. Security: the proxy server may provide an additional layer of defense by separating or masquerading the type of server that is behind the reverse proxy. This configuration may protect the servers further up the chain.

2. Encryption / SSL acceleration: when secure websites are created, the SSL encryption is sometimes not done by the Web server itself, but by a reverse proxy that is equipped with SSL acceleration hardware.

3. Load distribution: the reverse proxy can distribute the load to several servers, each server serving its own application area.

4. Caching: A reverse proxy can offload the Web servers by caching static content, such as images, as well as dynamic content, such as a HTML-page rendered by a content management system.

5. Compression: the proxy server can optimize and compress the content to speed up the load time.

TERMS USED:

PROXY SERVER: a proxy server is a server (a computer system or an application program) that acts as a go-between for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server evaluates the request according to its filtering rules. For example, it may filter traffic by IP address or protocol. If the request is validated by the filter, the proxy provides the resource by connecting to the relevant server and requesting the service on behalf of the client. A proxy server may optionally alter the client's request or the server's response, and sometimes it may serve the request without contacting the specified server. In this case, it 'caches' responses from the remote server, and returns subsequent requests for the same content directly.

SSL ACCERLERATION: SSL acceleration is a method of offloading the processor-intensive public key encryption algorithms involved in SSL transactions to a hardware accelerator. Typically, this is a separate card that plugs into a PCI slot in a computer that contains one or more co-processors able to handle much of the SSL processing.

Read more :

http://www.sans.org/reading_room/whitepapers/webservers/a_reverse_proxy_is_a_proxy_by_any_other_name_302?show=302.php&cat=webservers


Tuesday, February 17, 2009

What is Splunk

Splunk is an IT information search solution that indexes data and enables users to analyze, alert and report on all their IT data from every application, server and device; all in one place. It enables you to fi nd and fi x problems, investigate security incidents before attackers cover their tracks and generate compliance reports quickly and easily.

Splunk continuously indexes all your IT data by time so you can see change in action. And it dynamically interprets the data when you perform a search, eliminating the need to keep up
with ever changing data formats. It doesn’t require special agents, adapters or parsers for specifi c data formats and you get the correlation you need without writing lots of elaborate rules.

Splunk can integrate with your existing enterprise management, security and compliance tools right out of the box. The Splunk toolbar makes it simple to launch searches from any webbased
application and Splunk alerts can be sent to any of your existing consoles. It can even index the data already collected by your existing management tools to extend the life of your investments.

In my words : "A smart tool to know the health of your servers"

Thursday, January 8, 2009

What is the Difference between Desktop, WEB and Client-Server Apllication Testing

Each one differs in the environment in which they are tested and you will lose control over the environment in which application you are testing, while you move from desktop to web applications.


Desktop application runs on personal computers and work stations, so when you test the desktop application you are focusing on a specific environment. You will test complete application broadly in categories like GUI, functionality, Load, and backend i.e DB.

In Client-Server Application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in Intranet networks. You are aware of number of clients and servers and their locations in the test scenario.

Web Application is a bit different and complex to test as tester don’t have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, backend testing and load testing.

Keep in mind that even the difference exist in these three environment, the basic quality assurance and testing principles remains same and applies to all.

Monday, January 5, 2009

Charles Web debugging Proxy

Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).
Charles can act as a man-in-the-middle for HTTP/SSL communication, enabling you to debug the content of your HTTPS sessions.
Charles simulates modem speeds by effectively throttling your bandwidth and introducing latency, so that you can experience an entire website as a modem user might (bandwidth simulator).

...

Friday, December 19, 2008

How to intentionally fail a particular call to get 404 in Fidller ???

See earlier post and adds " *bpafter" as action for auto-responder rule. It will return 404 for any call.

This allows the request to hit the server, but break on the response... So finally we get 404 :-)

*bpu : Break on request before hitting server : This could also be used...