1. <IfModule mod_ssl.c>
  2. <VirtualHost *:443>
  3. ServerAdmin www@server-713
  4. DocumentRoot /srv/www
  5. <Directory />
  6. Options FollowSymLinks
  7. AllowOverride None
  8. </Directory>
  9. <Directory /srv/www/>
  10. Options Indexes FollowSymLinks MultiViews
  11. LanguagePriority en fr it es la eo vo ar he
  12. ForceLanguagePriority Fallback
  13. AllowOverride None
  14. Order allow,deny
  15. allow from all
  16. </Directory>
  17. <Location /http-bind>
  18. Order allow,deny
  19. Allow from all
  20. </Location>
  21. RewriteEngine On
  22. RewriteRule ^/http-bind$ https://localhost:5281/http-bind [P,L]
  23. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  24. <Directory "/usr/lib/cgi-bin">
  25. AllowOverride None
  26. Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  27. Order allow,deny
  28. Allow from all
  29. </Directory>
  30. ErrorLog ${APACHE_LOG_DIR}/error.log
  31. # Possible values include: debug, info, notice, warn, error, crit,
  32. # alert, emerg.
  33. LogLevel warn
  34. CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined
  35. # SSL Engine Switch:
  36. # Enable/Disable SSL for this virtual host.
  37. SSLEngine on
  38. # A self-signed (snakeoil) certificate can be created by installing
  39. # the ssl-cert package. See
  40. # /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
  41. # If both key and certificate are stored in the same file, only the
  42. # SSLCertificateFile directive is needed.
  43. SSLCertificateFile /etc/ssl/certs/www-server-713.pem
  44. SSLCertificateKeyFile /etc/ssl/private/www-server-713.key
  45. # Server Certificate Chain:
  46. # Point SSLCertificateChainFile at a file containing the
  47. # concatenation of PEM encoded CA certificates which form the
  48. # certificate chain for the server certificate. Alternatively
  49. # the referenced file can be the same as SSLCertificateFile
  50. # when the CA certificates are directly appended to the server
  51. # certificate for convinience.
  52. #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
  53. # Certificate Authority (CA):
  54. # Set the CA certificate verification path where to find CA
  55. # certificates for client authentication or alternatively one
  56. # huge file containing all of them (file must be PEM encoded)
  57. # Note: Inside SSLCACertificatePath you need hash symlinks
  58. # to point to the certificate files. Use the provided
  59. # Makefile to update the hash symlinks after changes.
  60. #SSLCACertificatePath /etc/ssl/certs/
  61. #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
  62. # Certificate Revocation Lists (CRL):
  63. # Set the CA revocation path where to find CA CRLs for client
  64. # authentication or alternatively one huge file containing all
  65. # of them (file must be PEM encoded)
  66. # Note: Inside SSLCARevocationPath you need hash symlinks
  67. # to point to the certificate files. Use the provided
  68. # Makefile to update the hash symlinks after changes.
  69. #SSLCARevocationPath /etc/apache2/ssl.crl/
  70. #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
  71. # Client Authentication (Type):
  72. # Client certificate verification type and depth. Types are
  73. # none, optional, require and optional_no_ca. Depth is a
  74. # number which specifies how deeply to verify the certificate
  75. # issuer chain before deciding the certificate is not valid.
  76. #SSLVerifyClient require
  77. #SSLVerifyDepth 10
  78. # Access Control:
  79. # With SSLRequire you can do per-directory access control based
  80. # on arbitrary complex boolean expressions containing server
  81. # variable checks and other lookup directives. The syntax is a
  82. # mixture between C and Perl. See the mod_ssl documentation
  83. # for more details.
  84. #<Location />
  85. #SSLRequire ( %{SSL_CIPHER} !~ m/^(EXP|NULL)/ \
  86. # and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
  87. # and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
  88. # and %{TIME_WDAY} >= 1 and %{TIME_WDAY} <= 5 \
  89. # and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <= 20 ) \
  90. # or %{REMOTE_ADDR} =~ m/^192\.76\.162\.[0-9]+$/
  91. #</Location>
  92. # SSL Engine Options:
  93. # Set various options for the SSL engine.
  94. # o FakeBasicAuth:
  95. # Translate the client X.509 into a Basic Authorisation. This means that
  96. # the standard Auth/DBMAuth methods can be used for access control. The
  97. # user name is the `one line' version of the client's X.509 certificate.
  98. # Note that no password is obtained from the user. Every entry in the user
  99. # file needs this password: `xxj31ZMTZzkVA'.
  100. # o ExportCertData:
  101. # This exports two additional environment variables: SSL_CLIENT_CERT and
  102. # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
  103. # server (always existing) and the client (only existing when client
  104. # authentication is used). This can be used to import the certificates
  105. # into CGI scripts.
  106. # o StdEnvVars:
  107. # This exports the standard SSL/TLS related `SSL_*' environment variables.
  108. # Per default this exportation is switched off for performance reasons,
  109. # because the extraction step is an expensive operation and is usually
  110. # useless for serving static content. So one usually enables the
  111. # exportation for CGI and SSI requests only.
  112. # o StrictRequire:
  113. # This denies access when "SSLRequireSSL" or "SSLRequire" applied even
  114. # under a "Satisfy any" situation, i.e. when it applies access is denied
  115. # and no other module can change it.
  116. # o OptRenegotiate:
  117. # This enables optimized SSL connection renegotiation handling when SSL
  118. # directives are used in per-directory context.
  119. #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
  120. <FilesMatch "\.(cgi|shtml|phtml|php)$">
  121. SSLOptions +StdEnvVars
  122. </FilesMatch>
  123. <Directory /usr/lib/cgi-bin>
  124. SSLOptions +StdEnvVars
  125. </Directory>
  126. # SSL Protocol Adjustments:
  127. # The safe and default but still SSL/TLS standard compliant shutdown
  128. # approach is that mod_ssl sends the close notify alert but doesn't wait for
  129. # the close notify alert from client. When you need a different shutdown
  130. # approach you can use one of the following variables:
  131. # o ssl-unclean-shutdown:
  132. # This forces an unclean shutdown when the connection is closed, i.e. no
  133. # SSL close notify alert is send or allowed to received. This violates
  134. # the SSL/TLS standard but is needed for some brain-dead browsers. Use
  135. # this when you receive I/O errors because of the standard approach where
  136. # mod_ssl sends the close notify alert.
  137. # o ssl-accurate-shutdown:
  138. # This forces an accurate shutdown when the connection is closed, i.e. a
  139. # SSL close notify alert is send and mod_ssl waits for the close notify
  140. # alert of the client. This is 100% SSL/TLS standard compliant, but in
  141. # practice often causes hanging connections with brain-dead browsers. Use
  142. # this only for browsers where you know that their SSL implementation
  143. # works correctly.
  144. # Notice: Most problems of broken clients are also related to the HTTP
  145. # keep-alive facility, so you usually additionally want to disable
  146. # keep-alive for those clients, too. Use variable "nokeepalive" for this.
  147. # Similarly, one has to force some clients to use HTTP/1.0 to workaround
  148. # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
  149. # "force-response-1.0" for this.
  150. BrowserMatch "MSIE [2-6]" \
  151. nokeepalive ssl-unclean-shutdown \
  152. downgrade-1.0 force-response-1.0
  153. # MSIE 7 and newer should be able to use keepalive
  154. BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
  155. </VirtualHost>
  156. </IfModule>