Add &HELP_URL. to definition and templates

Add WebServer files.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4189 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-04-01 15:05:52 +00:00
parent 42cf6385cc
commit 431c15b1fb
19 changed files with 50168 additions and 46468 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -164,12 +164,12 @@ c2:=c2||'<div id="rowFooter"><!-- bottom strip of info -->'||chr(10)||
' '||chr(10)|| ' '||chr(10)||
' <div class="hskpcol2">'||chr(10)|| ' <div class="hskpcol2">'||chr(10)||
' <div id="navFooter">'||chr(10)|| ' <div id="navFooter">'||chr(10)||
' <a href="thehelp.htm">Help</a> | '||chr(10)|| ' <a href="&HELP_URL.">Help</a> | '||chr(10)||
' '; ' ';
c2:=c2||' <a href="&T_AND_C_URL." target="blank">Terms &amp; conditions</a>'||chr(10)|| c2:=c2||' <a href="&T_AND_C_URL." target="blank">Terms &amp; conditions</a>'||chr(10)||
''||chr(10)|| ''||chr(10)||
' | <a href="theprivacypolicy.htm">Privacy policy</a>'||chr(10)|| ' | <a href="&PRIVACY_URL.">Privacy policy</a>'||chr(10)||
' | <span style="color:#0067c6; text-decoration:none" id="app_version">#APP_VERSION#</span>'||chr(10)|| ' | <span style="color:#0067c6; text-decoration:none" id="app_version">#APP_VERSION#</span>'||chr(10)||
' </div>'||chr(10)|| ' </div>'||chr(10)||
' </div>'||chr(10)|| ' </div>'||chr(10)||
@@ -525,12 +525,12 @@ c2:=c2||'<div id="rowFooter"><!-- bottom strip of info -->'||chr(10)||
' '||chr(10)|| ' '||chr(10)||
' <div class="hskpcol2">'||chr(10)|| ' <div class="hskpcol2">'||chr(10)||
' <div id="navFooter">'||chr(10)|| ' <div id="navFooter">'||chr(10)||
' <a href="thehelp.htm">Help</a> | '||chr(10)|| ' <a href="&HELP_URL.">Help</a> | '||chr(10)||
' '; ' ';
c2:=c2||' <a href="&T_AND_C_URL." target="blank">Terms &amp; conditions</a>'||chr(10)|| c2:=c2||' <a href="&T_AND_C_URL." target="blank">Terms &amp; conditions</a>'||chr(10)||
''||chr(10)|| ''||chr(10)||
' | <a href="theprivacypolicy.htm">Privacy policy</a>'||chr(10)|| ' | <a href="&PRIVACY_URL.">Privacy policy</a>'||chr(10)||
' | <span style="color:#0067c6; text-decoration:none" id="app_version">#APP_VERSION#</span>'||chr(10)|| ' | <span style="color:#0067c6; text-decoration:none" id="app_version">#APP_VERSION#</span>'||chr(10)||
' </div>'||chr(10)|| ' </div>'||chr(10)||
' </div>'||chr(10)|| ' </div>'||chr(10)||

View File

@@ -0,0 +1,47 @@
DECLARE
acl_id RAW(16);
cnt NUMBER;
BEGIN
-- Look for the object ID of the ACL currently assigned to '*'
SELECT aclid
INTO acl_id
FROM dba_network_acls
WHERE host = '*'
AND lower_port IS NULL
AND upper_port IS NULL;
-- If just some users referenced in the ACL are invalid, remove just those
-- users in the ACL. Otherwise, drop the ACL completely.
SELECT COUNT(principal)
INTO cnt
FROM xds_ace
WHERE aclid = acl_id
AND EXISTS (SELECT NULL
FROM all_users
WHERE username = principal);
IF (cnt > 0) THEN
FOR r IN (SELECT principal
FROM xds_ace
WHERE aclid = acl_id
AND NOT EXISTS (SELECT NULL
FROM all_users
WHERE username = principal)) LOOP
UPDATE xdb.xdb$acl
SET object_value = deletexml(object_value
,'/ACL/ACE[PRINCIPAL="' || r.principal || '"]')
WHERE object_id = acl_id;
END LOOP;
ELSE
DELETE FROM xdb.xdb$acl
WHERE object_id = acl_id;
END IF;
END;
/
rem COMMIT THE changes.
COMMIT;

View File

@@ -0,0 +1,59 @@
DECLARE
acl_path VARCHAR2(4000);
acl_id RAW(16);
BEGIN
dbms_output.put_line('Checking ACLs');
-- Look for the ACL currently assigned to '*' and give FLOWS_030000
-- the "connect" privilege if FLOWS_030000 does not have the privilege yet.
SELECT acl
INTO acl_path
FROM dba_network_acls
WHERE host = '*'
AND lower_port IS NULL
AND upper_port IS NULL;
-- Before checking the privilege, make sure that the ACL is valid
-- (for example, does not contain stale references to dropped users).
-- If it does, the following exception will be raised:
--
-- ORA-44416: Invalid ACL: Unresolved principal 'FLOWS_030000'
-- ORA-06512: at "XDB.DBMS_XDBZ", line ...
--
SELECT sys_op_r2o(extractvalue(p.res
,'/Resource/XMLRef'))
INTO acl_id
FROM xdb.xdb$acl a
,path_view p
WHERE extractvalue(p.res
,'/Resource/XMLRef') = REF(a)
AND equals_path(p.res
,acl_path) = 1;
dbms_xdbz.validateacl(acl_id);
IF dbms_network_acl_admin.check_privilege(acl_path
,'FLOWS_030000'
,'connect') IS NULL THEN
dbms_network_acl_admin.add_privilege(acl_path
,'FLOWS_030000'
,TRUE
,'connect');
END IF;
dbms_output.put_line('Finished');
EXCEPTION
-- When no ACL has been assigned to '*'.
WHEN no_data_found THEN
dbms_output.put_line('No ACL assigned to ''*''');
dbms_network_acl_admin.create_acl('power_users.xml'
,'ACL that lets power users to connect to everywhere'
,'FLOWS_030000'
,TRUE
,'connect');
dbms_network_acl_admin.assign_acl('power_users.xml'
,'*');
dbms_output.put_line('ACL assigned to ''*''');
END;
/
COMMIT;

View File

@@ -0,0 +1,8 @@
REM Show the dangling references to dropped users in the ACL that is assigned
REM to '*'.
SELECT ACL, PRINCIPAL
FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE
WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND
NACL.ACLID = ACE.ACLID AND
NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBvjCCAScCAQAwfjELMAkGA1UEBhMCR0IxFzAVBgNVBAgTDkxlaWNlc3RlcnNoaXJlMRYwFAYD
VQQKEw1OYXRpb25hbCBHcmlkMRgwFgYDVQQLEw9JUyBBcHBsaWNhdGlvbnMxJDAiBgNVBAMTG2lj
bWV0ZXJxdW90ZXMubmF0Z3JpZC5jby51azCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5l2g
7lWHkhpizL/FzX7iDcWb2MIBNc4TUpdtJxTPSxZWU4G1pl/rlswmkXdoc7R8FQX7M6hf3ucOMkUV
HxuwVhv49Vp1MwtFW/xf83U2k/KVaU/hajeuhnkAJFbDOeoWpDSRKGQ7W6xw8kSHOtqEUNimUgIK
p0zHUmPZbhqm0qkCAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4GBAF0O3NiRWfZvtW8WpSIKViX4529s
pQdrmpEvnewdJ29WxSwg4eP/Z6Hp8OZTW4hxxJJe9/1r7MQPxOZD4BuBgxVkk8rZQ+/u4MXaNq58
O+cRC9qyUViCWB2tusNmyxjEuMx/9SK8J0qW4c99zScEgwsPNzDN80/BD4CtKEm4dldq
-----END NEW CERTIFICATE REQUEST-----

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDOTCCAiGgAwIBAgIGARgchXD9MA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYT
AkdCMRIwEAYDVQQKDAlBZHZhbnRpY2ExEjAQBgNVBAsMCUFkdmFudGljYTEVMBMG
A1UEAwwMQWR2YW50aWNhIENBMB4XDTA4MDIxNTA5NTU0N1oXDTE3MTAzMTE2MjYx
N1owUTELMAkGA1UEBhMCR0IxFjAUBgNVBAoMDUFkdmFudGljYSBMdGQxDTALBgNV
BAsMBE9QQ1MxGzAZBgNVBAMMEioub3Bjcy1vbmxpbmUuaW5mbzCBnzANBgkqhkiG
9w0BAQEFAAOBjQAwgYkCgYEAoykOob0CqhqQVes9rGvBLJB+ALhcsuApXX2aZ457
ym/kw2sAVYYqtSJUw1hdvhYdKW7NQA1hvDUo6rkKJUxQrwHSwynsoUSgpU9d0Nkz
lxmZGobvRYc4CAQngaoNbXtGUgZsTKOvlhx1z19exjgxtD4VZPYD0fgzaNtQ52mT
iZ0CAwEAAaOBnzCBnDAfBgNVHSMEGDAWgBTMvFPInC8aJQBj5UnoKoPmxC3L7zAd
BgNVHQ4EFgQUdLGw4UCOXE91CKHWymWa0Jc9xegwDgYDVR0PAQH/BAQDAgWgMCoG
A1UdEQQjMCGBH2FuZHJldy5oYXJkeUBhZHZhbnRpY2Fncm91cC5jb20wCQYDVR0T
BAIwADATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUFAAOCAQEAHF+r
67FawQCjmFT42T/0+bEiQWuB8M+IdWQzUGtO/bYKLMnBuVIaTe5+YwZnPACx6uTS
tzyTZYb1QME/xrrAC73XoxJHgLC4A6GBy02GLmUiSbJCaHIs4haKfWvbwGbzcLaK
Dkaxbl4cR+YBpRf5GSgiVf8+SUCnwFlCduaokfuU6l+vB/iOY5p9HxteqjQh6YR8
220HPLj+G5bTyE33qOnojPqplV/Nv4Pl+S1RoHOSJwiF78vIAlAkfiya/yJyo+cG
SXOInmWzxqCuTgbKkSv/QZSoLJuu/NdByuSsYS9G8BiTBRxBuGmaVsvQdegBbaYM
XYfkTDez3kKpHhdI/w==
-----END CERTIFICATE-----

View File

@@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCjKQ6hvQKqGpBV6z2sa8EskH4AuFyy4CldfZpnjnvKb+TDawBV
hiq1IlTDWF2+Fh0pbs1ADWG8NSjquQolTFCvAdLDKeyhRKClT13Q2TOXGZkahu9F
hzgIBCeBqg1te0ZSBmxMo6+WHHXPX17GODG0PhVk9gPR+DNo21DnaZOJnQIDAQAB
AoGAKPYUw0wVUCktFTTindfLfmmkCIBAXXPjTqJK0ja2I0NmFh1VzyLItAKzbvtP
RXp9xboYcz0ozTw3Un4z6ts24eIcYkvZV8IzVqqGBeD2WxwwjIPplFWw7K4rLSM/
Lxgrq9Sz62AYyygHg4Cu4qRpY6F4NCVxEY9mDZB5Prs9rk0CQQDP3eP1LGxJxlU5
uf3OB5vt+7SBejp6LpYJ3dRAhyJLB+tjjygggabui2/GUG6k50MhCHNhIuY6TQBs
+5slr8/bAkEAyPEFukmuVdfTTLmt305V161CGlYnXW28XbcOQ2oYOcURcTeqmowQ
roEPAyZoVAqB34vqOjnL6lgKEfWmkJdh5wJAIVxFN5X3kyeHigo1l5lVBy68W4NY
Wz+ayN6XL/wAHvaYapQRJpZoSiSKvdMuzrxm46hNjCtjs7uj89m1nqjGvQJBAIX5
rYf3eHVj4U5WvscUw8d5jYlhx/1THTSeyLPKGTzrWCXUp7tDiBvRkODYyta96rnR
3+nSf1NQP+aZkuT1CiECQAEIFS0aEvSpIN/OgJrnbdDMYx1Drut+WIU6IOTWtFkZ
Ke3Mc6Q3MLFyxt/yofcVK4iMIeUieM65TaO7HSL+8fI=
-----END RSA PRIVATE KEY-----

View File

@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDeDCCAmCgAwIBAgIGARX24nRjMA0GCSqGSIb3DQEBBQUAMEwxCzAJBgNVBAYT
AkdCMRIwEAYDVQQKDAlBZHZhbnRpY2ExEjAQBgNVBAsMCUFkdmFudGljYTEVMBMG
A1UEAwwMQWR2YW50aWNhIENBMB4XDTA3MTAzMTE2MjYxN1oXDTE3MTAzMTE2MjYx
N1owTDELMAkGA1UEBhMCR0IxEjAQBgNVBAoMCUFkdmFudGljYTESMBAGA1UECwwJ
QWR2YW50aWNhMRUwEwYDVQQDDAxBZHZhbnRpY2EgQ0EwggEiMA0GCSqGSIb3DQEB
AQUAA4IBDwAwggEKAoIBAQC1S/I+mPwcEiQPyDUk36KjElhYuqGs71ELW/Yq4kcT
n0/xdgF1Ztnqw6Es1kHS6zfkN3MkNfzYuhMyTFZxwIMHeoZvvSIfvLaG45CxHT80
NDW3KA6uDHRyVz3mTbANXLq9hs0UVO0dDXfbZIEz++3rJVvElH/Wp5vsXXOMmp9l
ZqLJQcnaTJVAVjo5qYKfXM29qp9g+LWjTVPaUZnS2Lc34uiGmSwXTwOQJaNPEej4
7T2gg085i6yJBe46jItqOqetMMrXq4qTWaJVZ1jEnAu1//UZpxsTtDoVIGWWjI/n
4rBNTWCy3yvh5gHWoYkqXh0uP4y9Bq2uj95sgq9rNqbFAgMBAAGjYDBeMB8GA1Ud
IwQYMBaAFMy8U8icLxolAGPlSegqg+bELcvvMB0GA1UdDgQWBBTMvFPInC8aJQBj
5UnoKoPmxC3L7zAOBgNVHQ8BAf8EBAMCAYYwDAYDVR0TBAUwAwEB/zANBgkqhkiG
9w0BAQUFAAOCAQEAZrTg7u2gM1dSR4YIAz94CwON8FAkkLze8nsO4nQpK8S3PAG8
ML+MAt0V+jI4Jp6bYZFTMr76oD6cQxOqeda7Zb5aMZBmBGIq0deYNr3gEGJh7Zt8
zbifGrtMz2Jkx3FR42gA37H2jABTz8QR3FxpEMrHOU7AWt0ht2jY/dBNfytKqpnl
QRgz0PPe7GiT/4tmDKmmwoBuKO8aHoyAEQQPkBfKANLcqf7AgmVl2k1Ked/9/lVG
xKAX4KbW3HnXb2oXoO1sjyEigag9YDK9sKh52CMUbkn45x8t/jKNIAt2ncetrWcn
xrehmKi+SpDLfCodJ6jVZY8Dy/V2Tv6QfxB8oQ==
-----END CERTIFICATE-----

File diff suppressed because it is too large Load Diff

36
WebServer/conf/dads.conf Normal file
View File

@@ -0,0 +1,36 @@
# ============================================================================
# mod_plsql DAD Configuration File
# ============================================================================
# 1. Please refer to dads.README for a description of this file
# ============================================================================
# Note: This file should typically be included in your plsql.conf file with
# the "include" directive.
# Hint: You can look at some sample DADs in the dads.README file
# ============================================================================
Alias /i/ "s:\MIP\images/"
AddType text/xml xbl
AddType text/x-component htc
<Location /pls/apex>
SetHandler pls_handler
Order deny,allow
Allow from all
AllowOverride None
PlsqlDatabaseUsername APEX_PUBLIC_USER
# ###PlsqlNLSLanguage AMERICAN_AMERICA.WE8MSWIN1252
PlsqlNLSLanguage AMERICAN_AMERICA.WE8MSWIN1252
# PlsqlNLSLanguage AMERICAN_AMERICA.AL32UTF
PlsqlDatabasePassword thaawtsom
PlsqlDatabaseConnectString 127.0.0.1:1521:webmip ServiceNameFormat
PlsqlAuthenticationMode Basic
PlsqlDefaultPage apex
PlsqlDocumentPath docs
PlsqlDocumentTablename wwv_flow_file_objects$
PlsqlDocumentProcedure wwv_flow_file_mgr.process_download
#PlsqlRequestValidationFunction wwv_flow_epg_include_modules.authorize
</Location>

1065
WebServer/conf/httpd.conf Normal file

File diff suppressed because it is too large Load Diff

179
WebServer/conf/ssl.conf Normal file
View File

@@ -0,0 +1,179 @@
<IfDefine SSL>
#
# When we also provide SSL we have to listen to the
# standard HTTP port (see above) and to the HTTPS port
#
# Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
# Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
#
Listen 443
##
## SSL Global Context
##
## All SSL configuration in this context applies both to
## the main server and all SSL-enabled virtual hosts.
##
#
# Some MIME-types for downloading Certificates and CRLs
#
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
# Pass Phrase Dialog:
# Configure the pass phrase gathering process.
# The filtering dialog program (`builtin' is a internal
# terminal dialog) has to provide the pass phrase on stdout.
SSLPassPhraseDialog builtin
# Inter-Process Session Cache:
# Configure the SSL Session Cache: First the mechanism
# to use and second the expiring timeout (in seconds).
#SSLSessionCache none
#SSLSessionCache dbm:logs\ssl_scache
#SSLSessionCache shmht:logs\ssl_scache(512000)
SSLSessionCache shmcb:logs\ssl_scache(512000)
SSLSessionCacheTimeout 300
# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
SSLMutex default
##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "S:\oracle\product\10.1.3\ias\ohs\htdocs"
ServerName advwb2
ServerAdmin webmip@advanticagroup.com
ErrorLog logs\error_log
TransferLog logs\access_log
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
# SSL Cipher Suite:
# List the ciphers that the client is permitted to negotiate.
SSLCipherSuite ALL:!ADH:!EXPORT56:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
# Server Wallet:
# The server wallet contains the server's certificate, private key
# and trusted certificates. Set SSLWallet at the wallet directory
# using the syntax: file:<path-to-wallet-directory>
#SSLWallet file:S:\oracle\product\10.1.3\ias\ohs\conf\ssl.wlt\default
SSLWallet file:S:\MIP\WALLETS\opcs-online
# Certificate Revocation Lists (CRL):
# Set the CA revocation path where to find CA CRLs for client
# authentication or alternatively one huge file containing all
# of them (file must be PEM encoded)
# Note: Inside SSLCARevocationPath you need hash symlinks
# to point to the certificate files. Use the provided
# Makefile to update the hash symlinks after changes.
#SSLCARevocationPath conf\ssl.crl
#SSLCARevocationFile conf\ssl.crl\ca-bundle.crl
# Client Authentication (Type):
# Client certificate verification type. Types are
# none, optional and require.
#SSLVerifyClient require
# Access Control:
# With SSLRequire you can do per-directory access control based
# on arbitrary complex boolean expressions containing server
# variable checks and other lookup directives. The syntax is a
# mixture between C and Perl. See the mod_ssl documentation
# for more details.
#<Location />
#SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
# and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
# and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
# or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
#</Location>
# SSL Engine Options:
# Set various options for the SSL engine.
# o FakeBasicAuth:
# Translate the client X.509 into a Basic Authorisation. This means that
# the standard Auth/DBMAuth methods can be used for access control. The
# user name is the `one line' version of the client's X.509 certificate.
# Note that no password is obtained from the user. Every entry in the user
# file needs this password: `xxj31ZMTZzkVA'.
# o ExportCertData:
# This exports two additional environment variables: SSL_CLIENT_CERT and
# SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
# server (always existing) and the client (only existing when client
# authentication is used). This can be used to import the certificates
# into CGI scripts.
# o StdEnvVars:
# This exports the standard SSL/TLS related `SSL_*' environment variables.
# Per default this exportation is switched off for performance reasons,
# because the extraction step is an expensive operation and is usually
# useless for serving static content. So one usually enables the
# exportation for CGI and SSI requests only.
# o CompatEnvVars:
# This 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.
# o StrictRequire:
# This denies access when "SSLRequireSSL" or "SSLRequire" applied even
# under a "Satisfy any" situation, i.e. when it applies access is denied
# and no other module can change it.
# o OptRenegotiate:
# This enables optimized SSL connection renegotiation handling when SSL
# directives are used in per-directory context.
#SSLOptions +FakeBasicAuth +ExportCertData +CompatEnvVars +StrictRequire
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "S:\oracle\product\10.1.3\ias\ohs\cgi-bin">
SSLOptions +StdEnvVars
</Directory>
# SSL Protocol Adjustments:
# The safe and default but still SSL/TLS standard compliant shutdown
# approach is that mod_ssl sends the close notify alert but doesn't wait for
# the close notify alert from client. When you need a different shutdown
# approach you can use one of the following variables:
# o ssl-unclean-shutdown:
# This forces an unclean shutdown when the connection is closed, i.e. no
# SSL close notify alert is send or allowed to received. This violates
# the SSL/TLS standard but is needed for some brain-dead browsers. Use
# this when you receive I/O errors because of the standard approach where
# mod_ssl sends the close notify alert.
# o ssl-accurate-shutdown:
# This forces an accurate shutdown when the connection is closed, i.e. a
# SSL close notify alert is send and mod_ssl waits for the close notify
# alert of the client. This is 100% SSL/TLS standard compliant, but in
# practice often causes hanging connections with brain-dead browsers. Use
# this only for browsers where you know that their SSL implementation
# works correctly.
# Notice: Most problems of broken clients are also related to the HTTP
# keep-alive facility, so you usually additionally want to disable
# keep-alive for those clients, too. Use variable "nokeepalive" for this.
# Similarly, one has to force some clients to use HTTP/1.0 to workaround
# their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
# "force-response-1.0" for this.
SetEnvIf User-Agent "MSIE" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# Per-Server Logging:
# The home of a custom SSL log file. Use this when you want a
# compact non-error SSL logfile on a virtual host basis.
CustomLog logs\ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
</IfDefine>