H Oracle HTTP Server Module Directives
Modules extend the basic functionality of Oracle HTTP Server and support integration between Oracle HTTP Server and other Oracle Fusion Middleware components. Oracle HTTP Server uses both Oracle developed modules or “plug-ins” and Apache and third party-developed modules. Oracle developed modules have a set of directives that Oracle HTTP Server supports.
This appendix describes the directives available in the Oracle-developed modules:
- mod_wl_ohs Module
Themod_wl_ohs
module is a key feature of Oracle HTTP Server that enables requests to be proxied from Oracle HTTP Server to Oracle WebLogic Server. This module is generally referred to as the Oracle WebLogic Server proxy plug-in. - mod_certheaders Module
Themod_certheaders
module enables reverse proxies using two directives namely,AddCertHeader
andSimulateHttps
. - mod_ossl Module
Themod_ossl
module enables strong cryptography for Oracle HTTP Server. It accepts a set of directives such asSSLCARevocationFile
,SSLCipherSuite
,SSLEngine
, and more.
mod_wl_ohs Module
The mod_wl_ohs
module is a key feature of Oracle HTTP Server that enables requests to be proxied from Oracle HTTP Server to Oracle WebLogic Server. This module is generally referred to as the Oracle WebLogic Server proxy plug-in.
The mod_wl_ohs module enhances an Oracle HTTP server installation by allowing Oracle WebLogic Server to handle requests that require dynamic functionality. In other words, you typically use a plug-in where the HTTP server serves static pages such as HTML pages, while Oracle WebLogic Server serves dynamic pages such as HTTP Servlets and Jakarta Server Pages (JSPs). For information on this module's directives, see Parameters for Web Server Plug-Ins in Using Oracle WebLogic Server Proxy Plug-Ins.
Parent topic: Oracle HTTP Server Module Directives
mod_certheaders Module
The mod_certheaders
module enables reverse proxies using two directives namely, AddCertHeader
and SimulateHttps
.
This section describes the mod_certheaders directives:
AddCertHeader Directive
Specify which headers should be translated to CGI environment variables. This can be achieved by using the AddCertHeader
directive. This directive takes a single argument, which is the CGI environment variable that should be populated from a HTTP header on incoming requests. For example, to populate the SSL_CLIENT_CERT CGI environment variable.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
None |
Parent topic: mod_certheaders Module
SimulateHttps Directive
You can use mod_certheaders to instruct Oracle HTTP Server to treat certain requests as if they were received through HTTPS even though they were received through HTTP. This is useful when Oracle HTTP Server is front-ended by a reverse proxy or load balancer, which acts as a termination point for SSL requests, and forwards the requests to Oracle HTTP Server through HTTPS.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
|
Parent topic: mod_certheaders Module
mod_ossl Module
The mod_ossl
module enables strong cryptography for Oracle HTTP Server. It accepts a set of directives such as SSLCARevocationFile
, SSLCipherSuite
, SSLEngine
, and more.
To configure SSL for your Oracle HTTP Server, enter the mod_ossl
module directives you want to use in the ssl.conf
file.
For a complete list of all the directives supported by mod_ssl
module of Apache Web Server, see Apache documentation. Although it is possible
to configure all the SSL directives, only the following mod_ossl
directives are tested and supported by Oracle HTTP Server 14.1.2.0.0:
- SSLCARevocationCheck Directive
- SSLCARevocationFile Directive
- SSLCARevocationPath Directive
- SSLCipherSuite Directive
- SSLEngine Directive
- SSLFIPS Directive
- SSLHonorCipherOrder Directive
- SSLOptions Directive
- SSLProtocol Directive
- SSLProxyCheckPeerName Directive
- SSLProxyCipherSuite Directive
- SSLProxyEngine Directive
- SSLProxyProtocol Directive
- SSLProxyWallet Directive
- SSLRequire Directive
- SSLRequireSSL Directive
- SSLSessionCache Directive
- SSLSessionCacheTimeout Directive
- SSLStrictSNIVHost Directive
- SSLVerifyClient Directive
- SSLWallet Directive
Parent topic: Oracle HTTP Server Module Directives
SSLCARevocationCheck Directive
Enables certificate revocation list (CRL) checking. At least one of SSLCARevocationFile
or SSLCARevocationPath
must be configured. When set to chain
(recommended), CRL checks are applied to all certificates in the chain, while setting it to leaf
limits the checks to the end-entity certificate.
Category | Value |
---|---|
Syntax | SSLCARevocationCheck chain | leaf | none |
Example | SSLCARevocationCheck chain |
Default | SSLCARevocationCheck none |
Context | Server Config, Virtual Host |
Parent topic: mod_ossl Module
SSLCARevocationFile Directive
Specifies the file where you can assemble the Certificate Revocation Lists (CRLs) from CAs (Certificate Authorities) that you accept certificates from. These are used for client authentication. Such a file is the concatenation of various PEM-encoded CRL files in order of preference. This directive can be used alternatively or additionally to SSLCARevocationPath
.
Category | Value |
---|---|
Syntax |
|
Example |
SSLCARevocationFile ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl/ca_bundle.cr |
Default |
None |
Parent topic: mod_ossl Module
SSLCARevocationPath Directive
Specifies the directory where PEM-encoded Certificate Revocation Lists (CRLs) are stored. These CRLs come from the CAs (Certificate Authorities) that you accept certificates from. If a client attempts to authenticate itself with a certificate that is on one of these CRLs, then the certificate is revoked and the client cannot authenticate itself with your server.
This directive must point to a directory that contains the hash value of the CRL. To see the commands that allow you to create the hashes, see orapki in Administering Oracle Fusion Middleware.
Category | Value |
---|---|
Syntax |
|
Example |
SSLCARevocationPath ${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/crl |
Default |
None |
Parent topic: mod_ossl Module
SSLCipherSuite Directive
Specifies the SSL cipher suite that the client can use during the SSL handshake. This directive uses either a comma-separated or colon-separated cipher specification string to identify the cipher suite.
SSLCipherSuite accepts the following prefixes:
-
none: Adds the cipher to the list
-
+ : Moves matching ciphers to the current location in list
-
- : Removes the cipher from the list (can be added later)
-
! : Removes the cipher from the list permanently
Tags are joined with prefixes to form a cipher specification string. Cipher suite tags are listed in Table H-1.
Note:
As of Oracle HTTP Server version
14.1.2.0.0, cipher suites that use Rivest Cipher 4 (RC4) and Triple Data
Encryption Standard (3DES) algorithms are not supported due to known security
vulnerabilities. These ciphers are removed from the
SSLCipherSuite
configuration of the default SSL port of Oracle HTTP Server. If Oracle HTTP Server is managed through Enterprise Manager Fusion Middleware Control
or WebLogic Scripting Tool, you cannot configure these cipher suites through
these tools as these tools do not recognize the insecure RC4 and 3DES
ciphers.
If you explicitly add them to the cipher suite configuration, then Oracle HTTP Server will fail to start.
List of deprecated cipher suites:
SSL_RSA_WITH_AES_128_CBC_SHA
SSL_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
Note:
The deprecated ciphers are still supported but their use is not encouraged. If you want to use the deprecated ciphers you must manually add them to the configuration files as these ciphers are removed from the default configuration.Table H-* shows the tags you can use in the string to describe the cipher suite you want.
Category | Value |
---|---|
Example |
In this example, all ciphers are specified except MD5 strength ciphers. |
Syntax |
|
Default |
TLS_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
Table H-1 SSLCipher Suite Tags
Function | Tag | Meaning |
---|---|---|
Key exchange |
|
|
Key exchange |
|
Elliptic curve Diffie–Hellman Exchange key exchange |
Authentication |
|
|
Data Integrity |
|
|
Data Integrity |
|
SHA256 hash function |
Data Integrity |
|
SHA384 hash function |
Aliases |
|
All TLS version 1.2 ciphers |
Aliases |
|
All TLS version 1.3 ciphers |
Aliases |
|
All ciphers with 128-bit encryption |
Aliases |
|
All ciphers with encryption key size greater than 128 bits |
Aliases |
|
All ciphers using AES encryption |
Aliases |
|
All ciphers using RSA for both authentication and key exchange |
Aliases |
|
All ciphers using Elliptic Curve Digital Signature Algorithm for authentication |
Aliases |
|
All ciphers using Elliptic curve Diffie–Hellman Exchange for key exchange |
Aliases |
|
All ciphers that use Advanced Encryption Standard in Galois/Counter Mode (GCM) for encryption |
Table H-2 lists the Cipher Suites supported in Oracle HTTP Server 14.1.2.0.0 .
Note:
All the deprecated ciphers listed under "List of deprecated cipher suites" are still supported for backward compatibility. Oracle does not recommend using them as they are not strong.Table H-2 Cipher Suites Supported in Oracle HTTP Server 14.1.2.0.0
Cipher Suite | Key Exchange | Authentication | Encryption | Data Integrity | TLS v1.2 | TLS v1.3 |
---|---|---|---|---|---|---|
|
RSA |
|
|
|
Yes |
No |
|
RSA |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
No |
Yes |
|
ECDHE |
|
|
|
No |
Yes |
|
ECDHE |
|
|
|
No |
Yes |
|
ECDHE |
|
|
|
No |
Yes |
|
ECDHE |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
Yes |
No |
|
ECDHE |
|
|
|
Yes |
No |
|
Ephemeral |
|
|
|
Yes |
No |
|
Ephemeral |
RSA |
|
|
Yes |
No |
|
Ephemeral |
RSA |
|
|
Yes |
No |
|
Ephemeral |
|
|
|
Yes |
No |
|
Ephemeral |
RSA |
|
|
Yes |
No |
|
Ephemeral ECDH with RSA signatures |
RSA |
|
|
Yes |
No |
|
RSA |
|
|
|
Yes |
No |
|
RSA |
|
|
|
Yes |
No |
|
RSA |
|
|
|
Yes |
No |
|
RSA |
|
|
|
Yes |
No |
Parent topic: mod_ossl Module
SSLEngine Directive
Toggles the usage of the SSL Protocol Engine. This is usually used inside a <VirtualHost>
section to enable SSL for a particular virtual host. By default, the SSL Protocol Engine is disabled for both the main server and all configured virtual hosts.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
|
Parent topic: mod_ossl Module
SSLFIPS Directive
This directive toggles the usage of the SSL library FIPS_mode flag. It must be set in the global server context and should not be configured with conflicting settings (SSLFIPS on
followed by SSLFIPS off
or similar). The mode applies to all SSL library operations.
Category | Value |
---|---|
Syntax |
SSLFIPS ON | OFF |
Example |
SSLFIPS ON |
Default |
|
Configuring an SSLFIPS change requires that the SSLFIPS on
/off
directive be set globally in ssl.conf. Virtual level configuration is disabled in SSLFIPS directive. Hence, setting SSLFIPS to virtual directive results in an error.
Note:
Note the following restriction on SSLFIPS:
-
Enabling SSLFIPS mode in Oracle HTTP Server requires a wallet created with AES encrypted (compat_v12) headers. To create a new wallet or to convert an existing wallet with AES encryption, see these sections in orapki in Administering Oracle Fusion Middleware:
Creating and Viewing Oracle Wallets with orapki
The following tables describe the cipher suites that work in SSLFIPS mode with various protocols. For instructions on how to implement these cipher suites, see SSLCipherSuite Directive.
Table H-3 lists the cipher suites and protocols that can be used in SSLFIPS mode.
Table H-3 Ciphers Which Work in FIPS Mode
Cipher Name | Cipher Works in These Protocols: |
---|---|
TLS_AES_128_CCM_SHA256 |
TLS 1.3 |
TLS_AES_128_GCM_SHA256 |
TLS 1.3 |
TLS_AES_256_GCM_SHA384 |
TLS 1.3 |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
TLS 1.2 |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
TLS 1.2 |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS 1.2 |
TLS_RSA_WITH_AES_128_CBC_SHA256 |
TLS 1.2 |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
TLS 1.2 |
TLS_RSA_WITH_AES_256_CBC_SHA256 |
TLS 1.2 |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
TLS 1.2 |
SSL_RSA_WITH_AES_128_CBC_SHA |
TLS 1.2 |
SSL_RSA_WITH_AES_256_CBC_SHA |
TLS 1.2 |
Note:
-
If SSLFIPS is set to ON, and a cipher that does not support FIPS is used at the server, then client requests that use that cipher fail.
-
To use the TLS_ECDHE_ECDSA cipher suite, Oracle HTTP Server requires a wallet created with an ECC user certificate. The TLS_ECDHE_ECDSA cipher suite does not work with RSA certificates.
-
To use the SSL_RSA/TLS_RSA/TLS_ECDHE_RSA cipher suite, Oracle HTTP Server requires a wallet created with an RSA user certificate. The SSL_RSA/TLS_RSA/TLS_ECDHE_RSA cipher suite does not work with ECC certificates.
For more information about how to configure ECC/RSA certificates in a wallet, see Creating and Viewing Oracle Wallets with orapki in Administering Oracle Fusion Middleware.
For instructions about how to implement these cipher suites and corresponding protocols, see SSL Cipher Suite Directive and SSL Protocol.
Table H-4 lists the cipher suites that do not work in SSPFIPS mode.
Table H-4 Ciphers That Do Not Work in SSLFIPS Mode
Cipher Name | Description |
---|---|
TLS_CHACHA20_POLY1305_SHA256 |
Does not work in SSLFIPS mode in TLSv1.3 protocol |
Parent topic: mod_ossl Module
SSLHonorCipherOrder Directive
When choosing a cipher during a handshake, normally the client's preference is used. If this directive is enabled, then the server's preference will be used instead.
Category | Value |
---|---|
Syntax |
|
Example |
SSLHonorCipherOrder ON |
Default |
|
The server's preference order can be configured using the SSLCipherSuite directive. When SSLHonorCipherOrder is set to ON, the value of SSLCipherSuite is treated as an ordered list of cipher values.
Cipher values that appear first in this list are preferred by the server over ciphers that appear later in the list.
Example:
SSLCipherSuite TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 SSLHonorCipherOrder ON
In this case, the server will prefer TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
over all of the other ciphers configured in SSLCipherSuite directive as it appears first in the list and chooses this cipher for the SSL connection, if the client supports it.
Parent topic: mod_ossl Module
SSLOptions Directive
Controls various runtime options on a per-directory basis. In general, if multiple options apply to a directory, the most comprehensive option is applied (options are not merged). However, if all of the options in an SSLOptions
directive are preceded by a plus ('+') or minus ('-') symbol, then the options are merged. Options preceded by a plus are added to the options currently in force, and options preceded by a minus are removed from the options currently in force.
Accepted values are:
-
StdEnvVars
: Creates the standard set of CGI/SSI environment variables that are related to SSL. This is disabled by default because the extraction operation uses a lot of CPU time and usually has no application when serving static content. Typically, you only enable this for CGI/SSI requests. -
ExportCertData
: Enables the following additional CGI/SSI variables:SSL_SERVER_CERT
SSL_CLIENT_CERT
SSL_CLIENT_CERT_CHAIN_n
(where n= 0, 1, 2...)These variables contain the Privacy Enhanced Mail (PEM)-encoded X.509 certificates for the server and the client for the current HTTPS connection, and can be used by CGI scripts for deeper certificate checking. All other certificates of the client certificate chain are provided. This option is "Off" by default because there is a performance cost associated with using it.
SSL_CLIENT_CERT_CHAIN_n
variables are in the following order:SSL_CLIENT_CERT_CHAIN_0
is the intermediate CA who signsSSL_CLIENT_CERT
.SSL_CLIENT_CERT_CHAIN_1
is the intermediate CA who signsSSL_CLIENT_CERT_CHAIN_0
, and so forth, withSSL_CLIENT_ROOT_CERT
as the root CA. -
FakeBasicAuth
: Translates the subject distinguished name of the client X.509 certificate into an HTTP basic authorization user name. This means that the standard HTTP server authentication methods can be used for access control. No password is obtained from the user; the string 'password' is substituted. -
StrictRequire
: Denies access when, according to SSLRequireSSL Directive or directives, access should be forbidden. WithoutStrictRequire
, it is possible for a 'Satisfy any'
directive setting to override theSSLRequire
orSSLRequireSSL
directive, allowing access if the client passes the host restriction or supplies a valid user name and password.Thus, the combination of
SSLRequireSSL
orSSLRequire
withSSLOptions +StrictRequire
givesmod_ossl
the ability to override a'Satisfy any'
directive in all cases. -
CompatEnvVars
: Exports obsolete environment variables for backward compatibility to Apache SSL 1.x,mod_ssl
2.0.x, Sioux 1.0, and Stronghold 2.x. Use this to provide compatibility to existing CGI scripts. -
OptRenegotiate
: This enables optimized SSL connection renegotiation handling when SSL directives are used in a per-directory context.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
None |
Parent topic: mod_ossl Module
SSLProtocol Directive
Specifies SSL protocol(s) for mod_ossl
to use when establishing the server environment. Clients can only connect with one of the specified protocols. Accepted values are:
-
TLSv1.2
-
TLSv1.3
-
All
You can specify multiple values as a space-delimited list. In the syntax, the "-" and "+" symbols have the following meaning:
-
+ : Adds the protocol to the list
-
- : Removes the protocol from the list
In the current release, All
is defined as +TLSv1.3 +TLSv1.2
.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
|
Note:
- TLSv1.3 does not offer renegotiations, specifying ciphers for it in a directory context is not allowed.
- If TLSv1.3 is specified in the
SSLProtocol
configuration andSSLCipherSuite
is set to explicitly configure cipher suites, but the provided list does not include any TLSv1.3 cipher suites, then Oracle HTTP Server will automatically activate the following default TLSv1.3 ciphers on startup:TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
- When the
mod_ossl
directive is configured inside aLocation
block, it automatically forces a renegotiation from the server side to meet the new SSL configuration.
Parent topic: mod_ossl Module
SSLProxyCheckPeerName Directive
This directive configures host name checking for server certificates when
mod_ossl
is acting as an SSL client. The check will succeed if
the host name from the request URI matches one of the CN attributes of the
certificate's subject, or matches the subjectAltName
extension. If
the check fails, the SSL request is aborted and a 502 status code (Bad Gateway) is
returned.
Wildcard matching is supported for specific cases: an subjectAltName
entry of type dNSName
, or CN attributes starting with *.
will match with any host name of the same number of name elements and the same suffix. For example, *.example.org
will match foo.example.org, but will not match foo.bar.example.org, because the number of elements in the respective host names differs.
Category | Value |
---|---|
Syntax | SSLProxyCheckPeerName on | off |
Example | SSLProxyCheckPeerName on |
Default | on |
Context | Server Config, Virtual Host, Proxy Section |
Parent topic: mod_ossl Module
SSLProxyCipherSuite Directive
Specifies the SSL cipher suite that the proxy can use during the SSL handshake. This directive uses a colon-separated cipher specification string to identify the cipher suite. Table H-1 shows the tags to use in the string to describe the cipher suite you want. SSLProxyCipherSuite accepts the following values:
-
none: Adds the cipher to the list
-
+ : Adds the cipher to the list and places it in the correct location in the list
-
- : Removes the cipher from the list (which can be added later)
-
! : Removes the cipher from the list permanently
Tags are joined with prefixes to form a cipher specification string. Tags are joined together with prefixes to form a cipher specification string. The SSLProxyCipherSuite directive uses the same tags as the SSLCipherSuite directive. For a list of supported suite tags, see Table H-1.
Category | Value |
---|---|
Example |
In this example, all ciphers are specified except MD5 strength ciphers. |
Syntax |
|
Default |
TLS_AES_128_GCM_SHA256 TLS_AES_256_GCM_SHA384 TLS_CHACHA20_POLY1305_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
The SSLProxyCipherSuite directive uses the same cipher suites as the SSLCipherSuite directive. For a list of the supported Cipher Suites, see Table H-2.
Parent topic: mod_ossl Module
SSLProxyEngine Directive
Enables or disables the SSL/TLS protocol engine for proxy. SSLProxyEngine is usually used inside a <VirtualHost>
section to enable SSL/TLS for proxy usage in a particular virtual host. By default, the SSL/TLS protocol engine is disabled for proxy both for the main server and all configured virtual hosts.
SSLProxyEngine should not be included in a virtual host that will be acting as a forward proxy (by using Proxy
or ProxyRequest
directives). SSLProxyEngine is not required to enable a forward proxy server to proxy SSL/TLS requests.
Category | Value |
---|---|
Syntax |
SSLProxyEngine ON | OFF |
Example |
SSLProxyEngine on |
Default |
|
Parent topic: mod_ossl Module
SSLProxyProtocol Directive
Specifies SSL protocol(s) for mod_ossl
to use when establishing a proxy connection in the server environment. Proxies can only connect with one of the specified protocols. Accepted values are:
-
TLSv1.2
-
TLSv1.3
-
All
You can specify multiple values as a space-delimited list. In the syntax, the "-" and "+" symbols have the following meaning:
-
+ : Adds the protocol to the list
-
- : Removes the protocol from the list
In the current release All
is defined as +TLSv1.3
+TLSv1.2
.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
|
Parent topic: mod_ossl Module
SSLProxyWallet Directive
Specifies the location of the wallet with its WRL, specified as a filepath, that a proxy connection needs to use.
Category | Value |
---|---|
Syntax |
|
Example |
SSLProxyWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/proxy" |
Default |
None |
Parent topic: mod_ossl Module
SSLRequire Directive
Note:
SSLRequire is deprecated and must be replaced with Require expression. See Require expr in the Apache HTTP Server documentation for more information.Denies access unless an arbitrarily complex boolean expression is true.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
None |
Understanding the Expression Variable
The expression variable must match the following syntax (given as a BNF grammar notation):
expr ::= "true" | "false" "!" expr expr "&&" expr expr "||" expr "(" expr ")" comp ::=word "==" word | word "eq" word word "!=" word |word "ne" word word "<" word |word "lt" word word "<=" word |word "le" word word ">" word |word "gt" word word ">=" word |word "ge" word word "=~" regex word "!~" regex wordlist ::= word wordlist "," word word ::= digit cstring variable function digit ::= [0-9]+ cstring ::= "..." variable ::= "%{varname}"
Table H-5 and Table H-6 list standard and SSL variables. These are valid values for varname
.
function ::= funcname "(" funcargs ")"
For funcname
, the following function is available:
file(filename)
The file function takes one string argument, the filename, and expands to the contents of the file. This is useful for evaluating the file's contents against a regular expression.
Table H-5 lists the standard variables for SSLRequire Directive varname
.
Table H-5 Standard Variables for SSLRequire Varname
Standard Variables | Standard Variables | Standard Variables |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Table H-6 lists the SSL variables for SSLRequire Directive varname.
Table H-6 SSL Variables for SSLRequire Varname
SSL Variables | SSL Variables | SSL Variables |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parent topic: mod_ossl Module
SSLRequireSSL Directive
Denies access to clients not using SSL. This is a useful directive for absolute protection of a SSL-enabled virtual host or directories in which configuration errors could create security vulnerabilities.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
None |
Parent topic: mod_ossl Module
SSLSessionCache Directive
Specifies the global/interprocess session cache storage type. The cache provides an optional way to speed up parallel request processing. The accepted values are:
-
none
: disables the global/interprocess session cache. Produces no impact on functionality, but makes a major difference in performance. -
shmcb:
/path/to/datafile[bytes]: Uses a high-performance Shared Memory Cyclic Buffer (SHMCB) session cache to synchronize the local SSL memory caches of the server processes. Note: in this shm setting, no log files are created under /path/to/datafile on local disk.
Category | Value |
---|---|
Syntax |
|
Examples |
|
Default |
|
Parent topic: mod_ossl Module
SSLSessionCacheTimeout Directive
Specifies the number of seconds before a SSL session in the session cache expires.
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
|
Parent topic: mod_ossl Module
SSLStrictSNIVHost Directive
This directive sets whether a non-SNI client is allowed to access a name-based
virtual host. If set to on
in the default name-based virtual host,
clients that are SNI unaware will not be allowed to access any virtual host
belonging to this particular IP / port combination. If set to on
in
any other virtual host, SNI unaware clients are not allowed to access this
particular virtual host.
Category | Value |
---|---|
Syntax | SSLStrictSNIVHostCheck on | off |
Example | SSLStrictSNIVHostCheck on |
Default | off |
Context | Server Config, Virtual Host |
Parent topic: mod_ossl Module
SSLVerifyClient Directive
Specifies whether a client must present a certificate when connecting. The accepted values are:
-
none
: No client certificate is required -
optional
: Client can present a valid certificate -
require
: Client must present a valid certificate
Category | Value |
---|---|
Syntax |
|
Example |
|
Default |
None |
Note:
The level optional_no_ca
included with mod_ssl
(in which the client can present a valid certificate, but it need not be verifiable) is not supported in mod_ossl
.
Parent topic: mod_ossl Module
SSLWallet Directive
Specifies the location of the wallet with its WRL, specified as a filepath.
Category | Value |
---|---|
Syntax |
|
Example |
SSLWallet "${ORACLE_INSTANCE}/config/fmwconfig/components/${COMPONENT_TYPE}/instances/${COMPONENT_NAME}/keystores/default" |
Default |
This is the default |
Note:
If the wallet has a certificate/certificate request signed with the MD5 algorithm, Oracle HTTP Server will fail to start.Parent topic: mod_ossl Module