1/25
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide?
New Features for Release 11
g
Part I Understanding Secure Proxy Caching and Load Balancing
1
Understanding Reverse Proxying
1.1
About the Web Tier
1.1.1
Reverse Proxying
1.2
Request Flow in the Web Tier
1.2.1
HTTP Traffic Management
1.2.2
Request Filtering and Routing
1.2.3
Origin Server Load Balancing and Failover
1.2.4
Caching
1.2.5
Compression
1.2.6
Session Binding
1.3
Compatibility with Oracle Fusion Middleware Components
Part II Basic Administration
2
Getting Started with Administering Oracle Web Cache
2.1
About Oracle Web Cache Management Tools
2.2
About Site Configuration
2.3
About Resource Limits in Oracle Web Cache Management
2.3.1
Maximum Cache Size
2.3.2
Maximum Incoming Connections
2.3.3
Maximum Cached Object Size
2.3.4
Network Timeouts
2.4
About Oracle Web Cache Ports
2.5
About IP Addresses
2.6
Getting Started with Managing Oracle Web Cache with Oracle Enterprise Manager Fusion Middleware Control
2.6.1
Logging into Fusion Middleware Control
2.6.2
Navigating to Oracle Web Cache Administration Pages
2.6.3
Understanding Statistics on the Web Cache Home Page
2.6.4
Using the Fusion Middleware Control Help
2.7
Getting Started with Managing Oracle Web Cache with Oracle Web Cache Manager
2.7.1
Starting Oracle Web Cache Manager
2.7.2
Navigating Oracle Web Cache Manager
2.7.3
Understanding the Cache Operations Page
2.8
Getting Started with Managing Oracle Web Cache with Oracle Process Manager and Notification (OPMN)
2.9
Basic Tasks for Configuring and Managing Oracle Web Cache
2.10
Adding an Oracle Web Cache System Component to an Environment
2.11
Specifying Properties for an Oracle Web Cache System Component
2.11.1
Task 1: Configure Port Configuration for Oracle Web Cache
2.11.1.1
Verifying Port Configuration for Oracle Web Cache with Fusion Middleware Control
2.11.1.2
Verifying Port Configuration for Oracle Web Cache with OPMN
2.11.1.3
Adding an Oracle Web Cache Listening Port
2.11.1.4
Modifying Oracle Web Cache Operation Ports
2.11.2
Task 2: Specify Origin Server Settings
2.11.3
Task 3: Specify Site Definitions
2.11.3.1
Disabling Compression for All Responses
2.11.4
Task 4: Map Site Definitions to Origin Servers
2.11.5
Task 5: Set Resource Limits and Network Thresholds
2.11.6
Task 6: Configure Error Pages
2.11.7
Task 7: Restart Oracle Web Cache
2.12
Creating Session Definitions
2.13
Starting and Stopping Oracle Web Cache
2.13.1
Starting and Stopping Using opmnctl
2.13.2
Starting and Stopping Using the Fusion Middleware Control
2.13.3
Starting and Stopping Using Oracle Web Cache Manager
3
Configuring High Availability Solutions
3.1
Overview of Origin Server Load Balancing and Failover
3.1.1
Surge Protection
3.1.2
Stateless Load Balancing
3.1.3
Backend Failover
3.2
Overview of Session Binding
3.3
Overview of Cache Clusters
3.4
Overview of High Availability without a Hardware Load Balancer
3.4.1
Oracle Web Cache Solely as a Software Load Balancer or Reverse Proxy
3.4.2
Operating System Load Balancing Support
3.5
Configuring Session Binding
3.6
Configuring a Cache Cluster for Caches Using the Same Oracle WebLogic Server
3.6.1
Configuration Prerequisites
3.6.2
Understanding Failover Threshold and Capacity Settings
3.6.2.1
Failover Threshold for the Cache Cluster
3.6.2.2
Capacity for Cache Cluster Members
3.6.3
Task 1: Add Caches to the Cluster and Configure Properties
3.6.4
Task 2: Enable Tracking of Session Binding
3.6.5
Task 3: Synchronize the Configuration to Cluster Members
3.6.6
Removing a Cache Member from a Cluster
3.6.7
Configuring Administration and Invalidation-Only Clusters
3.7
Configuring a Cache Cluster for Unassociated Caches or Caches Using Different Oracle WebLogic Servers
3.7.1
Task 1: Configure Cache Cluster Settings
3.7.2
Task 2: Add Caches to the Cluster
3.7.3
Task 3: Enable Tracking of Session Binding
3.7.4
Task 4: Synchronize the Configuration to Cluster Members
3.7.5
Removing Caches from a Cluster
3.7.6
Configuring Administration and Invalidation-Only Clusters
3.8
Configuring Oracle Web Cache as a Software Load Balancer
3.9
Configuring Microsoft Windows Network Load Balancing
4
Configuring Request Filtering
4.1
Introduction to Request Filtering
4.2
Types of Request Filters
4.3
About Learned Rules
4.4
About the Monitor Only Mode
4.5
Configuring Rules for the Privileged IP Filter
4.6
Configuring Rules for the Client IP Request Filter
4.7
Configuring Rules for the Method Request Filter
4.7.1
Activating Learned Rules for the Method Request Filter
4.8
Configuring Rules for the URL Request Filter
4.8.1
Activating Learned Rules for the URL Request Filter
4.9
Configuring Rules for the Header Request Filter
4.10
Configuring Rules for the Query String Request Filter
4.11
Configuring Rules for the Format Request Filter
4.12
Deleting Rules for a Request Filter
4.13
Monitoring Statistics for Request Filter Types and Rules
4.14
Reducing Time to Configure Request Filters
4.14.1
Copying Rules from a Source Site to a Target Site
4.14.2
Reverting Configuration Settings
5
Configuring Security
5.1
Introduction to Security in Oracle Web Cache
5.1.1
Oracle Web Cache Security Model
5.1.1.1
Restricted Administration
5.1.1.2
Secure Sockets Layer (SSL)
5.1.1.2.1
Certificate Authority
5.1.1.2.2
Certificate
5.1.1.2.3
Wallet
5.1.1.2.4
How SSL Works
5.1.1.3
SSL Acceleration
5.1.2
Resources Protected
5.1.3
Authorization and Access Enforcement
5.1.4
Leveraging Oracle Identity Management Infrastructure
5.1.4.1
About Caching Content from Oracle Single Sign-On Servers
5.1.4.2
About Caching Oracle Single Sign-On Partner Applications (mod_osso)
5.1.4.3
About Authentication through Oracle Single Sign-On
5.2
Configuring Password Security
5.3
Configuring Access Control
5.4
Configuring Oracle Web Cache for HTTPS Requests
5.4.1
Task 1: Create Wallets
5.4.2
Task 2: Configure an HTTPS Listening Port
5.4.3
Task 3: Configure SSL Settings for Oracle Web Cache Connections to Origin Servers
5.4.4
Task 4: Configure a Site to Require HTTPS Requests
5.4.4.1
Modify ssl.conf for Keep-Alive Connections
5.4.5
Task 5: Restart Oracle Web Cache
5.4.6
Task 6: Perform Additional Configuration for Oracle WebLogic Servers
5.5
Additional HTTPS Configuration
5.5.1
Configuring HTTPS Operation Ports
5.5.2
Requiring Client-Side Certificates
5.5.2.1
Configuring Client-Side Certificate Settings for the HTTPS Listening Ports
5.5.2.2
Configuring Client-Side Certificate Settings for Cache Clusters
5.5.2.3
Configuring Client-Side Certificate Settings for a Site
5.5.3
Configuring Certificate Revocation Lists (CRLs)
5.6
Configuring HTTP Request Header Size
5.7
Ensuring That ClientIP Headers Are Valid
5.8
Configuring Support for Caching Secured Content
5.9
Running webcached with Root Privilege
5.9.1
Configuring Process Identity
5.9.2
Configuring Root Privilege for Privileged Ports and More than 1,024 File Descriptors
5.9.3
Configuring Root Privilege for the Current User
5.9.4
Reverting Permissions Back to Installation State
5.10
Script for Setting File Permissions on UNIX
6
Caching and Compressing Content
6.1
About Cache Population
6.2
About Cache Consistency
6.2.1
Expiration
6.2.2
HTTP Cache Validation
6.2.3
Invalidation
6.3
About Caching Decisions
6.4
Introduction to Creating Caching Rules
6.5
Introduction to Configuring Advanced Settings
6.5.1
Caching for Objects with Multiple Versions
6.5.2
Caching for Objects with Embedded URL and POST Body Parameters
6.5.3
Caching Error Responses
6.5.4
Caching for Objects with Sessions
6.5.5
Caching for Objects with Session-Encoded URLs
6.6
Basic Tasks for Configuring and Monitoring Caching Rules
6.7
Configuring Expiration Policies
6.8
Configuring and Monitoring Caching Rules
6.8.1
Configuring General Rule Settings
6.8.1.1
Regular Expression Parameters
6.8.2
Configuring Settings for Rules with Multiple Versions of the Same Object
6.8.3
Excluding the Value of Embedded URL or POST Body Parameters
6.8.4
Recognizing Similar Browser Types for Multiple-Version Objects Containing HTTP Request Headers
6.8.5
Configuring Error Responses for Rules
6.8.6
Configuring Session Caching Rules
6.8.7
Configuring Support for Session-Encoded URLs
6.8.8
Configuring Rules for Popular Pages with Session Establishment
6.9
Monitoring Summary Settings for Caching Rules
6.10
Using the Surrogate-Control Response Header as an Alternative to Caching Rules
6.10.1
Surrogate-Control Response-Header Field
7
Invalidating Content
7.1
Overview of Invalidation
7.2
About Out-of-Band Invalidations
7.3
About ESI Inline Invalidations
7.4
About Response Header Invalidations
7.5
Format of Invalidation Requests for Out-of-Band and ESI Inline Mechanisms
7.5.1
Invalidation Request Syntax
7.5.2
Invalidation Response Syntax
7.5.3
Invalidation Preview Request Syntax
7.5.4
Invalidation Preview Response Syntax
7.5.5
Invalidation Examples
7.5.5.1
Example: Invalidating One Object
7.5.5.2
Example: Invalidating Multiple Objects
7.5.5.3
Example: Invalidating a Subtree of Objects
7.5.5.4
Example: Invalidating All Objects for a Web Site
7.5.5.5
Example: Invalidating Objects Using Prefix Matching
7.5.5.6
Example: Invalidating Objects Using Substring and Query String Matching
7.5.5.7
Example: Invalidating Objects Using Search Key Matching
7.5.5.8
Example: Propagating Invalidation Requests Throughout a Cache Cluster
7.5.5.9
Example: Previewing Invalidation
7.6
About Search Keys in Invalidations
7.7
Initiating Out-of-Band Invalidations
7.7.1
Using Telnet to Send Invalidation Requests
7.7.2
Using Oracle Web Cache Manager to Send Invalidation Requests
7.7.2.1
Submitting Basic Invalidation Requests
7.7.2.2
Submitting Advanced Invalidation Requests
7.7.3
Using Application Program Interfaces (APIs) for Automated Invalidation Requests
7.7.4
Using Database Triggers for Automated Invalidation Requests
7.7.5
Using Scripts for Automated Invalidations
7.8
Enabling Response-Header Invalidation
7.8.1
Example Usage
7.8.1.1
Basic URI Invalidation
7.8.1.2
Directory URI Invalidation
7.8.1.3
Asychronous Invalidation
7.8.1.4
Search Key Invalidation with Explicit URI
7.8.1.5
Search Key Invalidation with Implicit URI
7.8.1.6
Multiple Invalidation Directives
7.8.1.7
Mixing Commas and Semicolons
7.8.1.8
Multiple Invalidation Response Headers
7.9
Enabling Search Keys for Invalidations
7.10
Security Considerations
7.10.1
About the invalidator account
7.10.2
Propagation of Invalidation Messages
7.10.2.1
Invalidation in Cache Clusters
7.10.2.2
Invalidation in Hierarchies
8
Using Diagnostic Features
8.1
Introduction to Diagnostic Solutions
8.2
Introduction to Listing Popular Requests and Cache Contents
8.3
Introduction to Displaying Diagnostic and Event Log Information in the HTML Body or Server Response-Header Field
8.4
Viewing General and Detailed Statistics
8.5
Viewing Configuration Statistics
8.6
Listing Popular Requests
8.7
Listing Cache Contents to a File
8.8
Configuring Where to Display Diagnostic Information
9
Logging
9.1
Introduction to Event Logs
9.1.1
Event Logging Formats
9.1.1.1
Oracle Diagnostics Logging Text and XML Formats
9.1.1.2
Oracle Web Cache Classic Format
9.1.1.3
Request Details in Message 9720
9.1.1.4
About the Oracle-ECID Request-Header Field
9.1.2
Event Log Examples
9.1.2.1
Example: Event Log with Unsuccessful Startup Entries
9.1.2.2
Example: Event Log with Shutdown Entries
9.1.2.3
Example: Event Log with Cache Miss and Cache Hit Entries
9.1.2.4
Example: Event Log with an Invalidation Entry
9.1.2.5
Example: Analyzing ESI Events
9.2
Introduction to Access Logs
9.2.1
Access Log Formats
9.2.1.1
Common Log Format (CLF)
9.2.1.2
Enhanced CLF (ECLF)
9.2.1.3
Combined Log Format
9.2.1.4
Enhanced Combined Log Format
9.2.1.5
End-User Performance Monitoring Format
9.2.2
Access Log Fields
9.2.2.1
cs(
header_name
) and sc(
header_name
) Access Log Fields
9.2.3
Access Log Examples
9.2.3.1
Example: Access Log with Reload Entries
9.2.3.2
Example: Access Log with Status Code 404 Entry
9.2.3.3
Example: Access Log in Combined Format
9.2.3.4
Example: Access Log with Site Information
9.2.3.5
Example: Access Log with ESI Diagnostic Information
9.2.3.6
Example: Access Log with ESI Log Information
9.3
Configuring Event Logs
9.4
Configuring Access Logs
9.5
Creating a Customized Access Log Format
9.6
Creating a Customized Access Log Rollover Policy
9.7
Viewing Event Logs and Access Logs
9.8
Rolling Over Event and Access Logs
9.9
Using Audit Logs
10
Configuring Common Deployment Scenarios
10.1
Using Oracle Web Cache in a Common Deployment
10.2
Using a Cache Hierarchy for a Global Intranet Application
10.3
Using Oracle Web Cache for High Availability without a Hardware Load Balancer
Part III Advanced Administration
11
Caching Dynamic Content with ESI Language Tags
11.1
Introduction to ESI for Partial Page Caching
11.1.1
ESI Features
11.1.1.1
ESI for Java (JESI)
11.1.2
ESI Language Elements in the Surrogate-Control Response Header
11.1.3
About the Surrogate-Control Response Header and Surrogate-Capability Request Header for Cached Objects
11.1.4
Syntax Rules
11.1.5
Nesting Elements
11.1.6
Variable Expressions
11.1.6.1
Variable Usage
11.1.6.2
Variable Default Values
11.1.6.3
HTTP Request Variables
11.1.7
Exceptions and Errors
11.1.8
About Fragmentation with the Inline and Include Tags
11.1.8.1
Using Inline for Non-Fetchable Fragmentation
11.1.8.2
Using Inline for Fetchable Fragmentation
11.1.8.3
Using Include for Fragmentation
11.1.8.4
Selecting the Fragmentation Mechanism for Your Application
11.1.9
Referer Request-Header Field
11.1.10
Cookie Management for Template Pages and Fragments
11.2
Enabling Dynamic Assembly of Content and Partial Page Caching
11.2.1
Enabling Partial Page Caching
11.2.2
Using ESI for Simple Personalization
11.2.3
Examples of ESI Usage
11.2.3.1
Example of a Portal Site Implementation
11.2.3.1.1
Portal Example Using inline Tags
11.2.3.1.2
Portal Example Using Include Tags
11.2.3.2
Example of Simple Personalization with Variable Expressions
11.3
Using Inline Invalidation in HTTP Responses
11.3.1
Example: Using Inline Invalidation
11.4
ESI Tag Descriptions
11.4.1
ESI choose | when | otherwise Tags
11.4.1.1
Syntax
11.4.1.2
Attributes
11.4.1.3
Usage
11.4.1.4
Boolean Expressions
11.4.1.5
Statements
11.4.1.6
Example
11.4.2
ESI comment Tag
11.4.2.1
Syntax
11.4.2.2
Usage
11.4.2.3
Example
11.4.3
ESI environment Tag
11.4.3.1
Syntax
11.4.3.2
Attributes
11.4.3.3
Elements
11.4.3.4
Syntax Usage
11.4.3.5
Example
11.4.4
ESI include Tag
11.4.4.1
Syntax
11.4.4.2
Attributes
11.4.4.3
Elements
11.4.4.4
Syntax Usage
11.4.4.5
Usage
11.4.4.6
Examples
11.4.5
ESI inline Tag
11.4.5.1
Syntax
11.4.5.2
Attributes
11.4.5.3
Usage
11.4.5.4
Example
11.4.6
ESI invalidate Tag
11.4.6.1
Syntax
11.4.6.2
Attributes
11.4.6.3
Usage
11.4.6.4
Example
11.4.7
ESI remove Tag
11.4.7.1
Syntax
11.4.7.2
Usage
11.4.7.3
Example
11.4.8
ESI try | attempt | except Tags
11.4.8.1
Syntax
11.4.8.2
Usage
11.4.8.3
Example
11.4.9
ESI vars Tag
11.4.9.1
Syntax
11.4.9.2
Syntax Usage
11.4.9.3
Usage
11.4.9.4
Example
11.4.10
ESI <!--esi-->Tag
11.4.10.1
Syntax
11.4.10.2
Usage
11.4.10.3
Example
12
Caching with Third-Party Application Servers
12.1
Introduction to Third-Party Application Servers
12.1.1
Web Site Configuration
12.1.2
Caching Rules and Expiration Rules
12.2
IBM WebSphere
12.2.1
WebSphere Snoop Servlet
12.2.2
WebSphere Calendar Creator JSP
12.3
Apache Tomcat
12.3.1
Apache Tomcat Snoop JSP
12.3.2
Apache Tomcat Session Servlet
12.4
Microsoft IIS
12.4.1
ServerVariables_Jscript ASP
12.4.2
Cookie_Jscript ASP
A
Troubleshooting Oracle Web Cache
A.1
Problems and Solutions
A.1.1
No Response from Application Web Server Error
A.1.2
Load Issues on Oracle Web Cache Computer
A.1.3
Performance Degradation and Memory
A.1.4
Invalidation Timeouts in a Cache Cluster
A.1.5
Capacity Issues on Origin Server
A.1.6
Browsers Not Receiving Complete Responses
A.1.7
Browser Presenting a Page Not Displayed Error
A.1.8
ESI Errors with IBM Websphere Application Server
A.1.9
XML Parsing Errors of webcache.xml Appears in Event Viewer
A.2
Common Configuration Mistakes
A.3
Diagnosing Cache Content Results
A.4
Diagnosing Common Edge Side Includes (ESI) Syntax Errors
A.4.1
Template Syntax Error Example
A.4.2
Fragment Syntax Error Example
A.4.3
Fragment Syntax Error with Exception Handling Example
A.5
Impact of HTTP Traffic Changes
A.6
Need More Help?
Glossary
Index
Scripting on this page enhances content navigation, but does not change the content in any way.