apache i mod_ssl
Czesiek
czesiek w innozyt.pl
Śro, 6 Gru 2006, 12:34:34 CET
Przemysław Backiel napisał(a):
>>
>>> ale dyrektywy
>>> NameVirtualHost nie używasz?
>>>
>>>
>>>
>> Ano mam taką dyrektywę w /etc/httpd/apache.conf:
>>
>> NameVirtualHost foo.pl:80
> a masz więcej Vhostów, czy tylko ten jeden ?
> kurde.. nie moge znalezc błedu :(
>
>
poniżej masz cały mój 20_mod_vhost_alias.conf
# $Id: apache-mod_vhost_alias.conf,v 1.5 2005/12/21 13:20:12 glen Exp $
LoadModule vhost_alias_module modules/mod_vhost_alias.so
<IfModule mod_vhost_alias.c>
# VirtualHost: Allows the daemon to respond to requests for more than one
# server address, if your server machine is configured to accept IP packets
# for multiple addresses. This can be accomplished with the ifconfig
# alias flag, or through kernel patches like VIF.
# Any httpd.conf or srm.conf directive may go into a VirtualHost command.
# See also the BindAddress entry.
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster w host.some_domain.com
#DocumentRoot /www/docs/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog logs/host.some_domain.com-error_log
#TransferLog logs/host.some_domain.com-access_log
#</VirtualHost>
## Virtual Host dla www.foo.pl
<VirtualHost www.foo.pl:80>
ServerAdmin webmaster w foo.pl
DocumentRoot /web_pages/foo
ServerName www.foo.pl
ErrorLog logs/www.foo.pl-error_log
TransferLog logs/www.foo.pl-acces_log
</VirtualHost>
# Virtual Host dla mail.foo.pl na porcie 80
<VirtualHost mail.foo.com.pl:80>
ServerAdmin postmaster w foo.pl
DocumentRoot /web_pages/mail
ServerName mail.foo.com.pl
</VirtualHost>
# Virtual Host dla foo1.pl
<VirtualHost www.foo1.pl:80>
ServerAdmin webmaster w foo1.pl
DocumentRoot /web_pages/foo1
ServerName www.foo1.pl
ServerAlias foo1.pl *.foo1.pl
ErrorLog logs/www.foo1.pl-error_log
TransferLog logs/foo1.pl-access_log
</VirtualHost>
</IfModule>
Tutaj masz mój 40_mod_ssl.conf
# $Id: apache-mod_ssl.conf, v 1.17 2006/06/15 17:40:50 glen Exp $
LoadModule ssl_module modules/mod_ssl.so
# This is the Apache server configuration file providing SSL support.
# It contains the configuration directives to instrauct the server how to
# serve pages over an https connection. For detailing information about
these
# directives see <URL:http://httpd.apache.org/docs/2.2/mod/mod_ssl.html>
<IfModule mod_ssl.c>
#
# Pseudo Random Number Generator (PRNG):
# Configure one or more sources to seed the PRNG of the SSL library.
# The seed data should be of good random quality.
# WARNING! On some platforms /dev/random blocks if not enough entropy
# is available. This means you then cannot use the /dev/random device
# because it would lead to very long connection times (as long as
# it requires to make more entropy available). But usually those
# platforms additionally provide a /dev/urandom device which doesn't
# block. So, if available, use this one instead. Read the mod_ssl User
# Manual for more details.
#
#SSLRandomSeed startup file:/dev/random 512
#SSLRandomSeed startup file:/dev/urandom 512
#SSLRandomSeed connect file:/dev/random 512
#SSLRandomSeed connect file:/dev/urandom 512
#
# 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.
##
# 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 dbm:/var/cache/httpd/ssl_scache
#SSLSessionCache shmcb:/var/run/ssl_scache(512000)
SSLSessionCache shmcb:/var/cache/httpd/ssl_scache(512000)
SSLSessionCacheTimeout 300
# Semaphore:
# Configure the path to the mutual exclusion semaphore the
# SSL engine uses internally for inter-process synchronization.
SSLMutex file:/var/run/httpd/ssl_mutex
##
## SSL Virtual Host Context
##
#<VirtualHost _default_:443>
<VirtualHost mail.foo.pl:443>
DocumentRoot /usr/share/horde
ServerName mail.foo.pl
ServerAdmin postmaster w foo.pl
ErrorLog /var/log/httpd/mail.foo.pl-error_log
TransferLog /var/log/httpd/mail.foo.pl-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.
# See the mod_ssl documentation for a complete list.
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. Keep
# in mind that if you have both an RSA and a DSA certificate you
# can configure both in parallel (to also allow the use of DSA
# ciphers, etc.)
SSLCertificateFile /etc/httpd/ssl/mail.crt
#SSLCertificateFile /etc/httpd/ssl/server-dsa.crt
# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/httpd/ssl/mail.key
#SSLCertificateKeyFile /etc/httpd/ssl/server-dsa.key
# Server Certificate Chain:
# Point SSLCertificateChainFile at a file containing the
# concatenation of PEM encoded CA certificates which form the
# certificate chain for the server certificate. Alternatively
# the referenced file can be the same as SSLCertificateFile
# when the CA certificates are directly appended to the server
# certificate for convinience.
#SSLCertificateChainFile /etc/httpd/ssl/ca.crt
# Certificate Authority (CA):
# Set the CA certificate verification path where to find CA
# certificates for client authentication or alternatively one
# huge file containing all of them (file must be PEM encoded)
# Note: Inside SSLCACertificatePath you need hash symlinks
# to point to the certificate files. Use the provided
# Makefile to update the hash symlinks after changes.
#SSLCACertificatePath /etc/httpd/ssl
#SSLCACertificateFile /etc/httpd/ssl/ca-bundle.crt
# 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 /etc/httpd/ssl
#SSLCARevocationFile /etc/httpd/ssl/ca-bundle.crl
# Client Authentication (Type):
# Client certificate verification type and depth. Types are
# none, optional, require and optional_no_ca. Depth is a
# number which specifies how deeply to verify the certificate
# issuer chain before deciding the certificate is not valid.
#SSLVerifyClient require
#SSLVerifyDepth 10
# 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 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 +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "/home/services/httpd/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.
<IfModule mod_setenvif.c>
BrowserMatch ".*MSIE.*" nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
</IfModule>
# 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.
<IfModule mod_log_config.c>
CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x
%{SSL_CIPHER}x \"%r\" %b"
</IfModule>
</VirtualHost>
</IfModule>
i apache.conf:
# $Id: apache-httpd.conf,v 1.47 2006/01/07 23:52:27 glen Exp $
#
# This is the main Apache HTTP server configuration file.
# It contains the configuration directives that give the server its
instructions.
#
# This config aims to be clean and readable.
# See <URL:http://httpd.apache.org/docs/2.2> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
ServerRoot "/etc/httpd"
DefaultType text/plain
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
User http
Group http
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#Listen 192.168.1.1:80
Listen *:80
# ServerAdmin: Your address, where problems with the server should be
# e-mailed. This address appears on some server-generated pages, such
# as error documents. e.g. admin w your-domain.com
#
ServerAdmin webadmin w foo.pl
# ServerName gives the name and port that the server uses to identify
itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address
here.
#
ServerName www.foo.pl:80
# Virtual Hosts:
#
NameVirtualHost foo.pl:80
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
ErrorLog logs/error_log
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
UseCanonicalName Off
AccessFileName .htaccess
ServerTokens Full
ServerSignature On
HostnameLookups Off
# Include other modules and packages config.
Include conf.d/*.conf
# Include webapps config
Include webapps.d/*.conf
<IfModule alias_module>
# ScriptAlias: This controls which directories contain server
scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the target directory are treated as applications and
# run by the server when requested rather than as documents sent
to the
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#
ScriptAlias /cgi-bin/ "/home/services/httpd/cgi-bin/"
<Directory "/home/services/httpd/cgi-bin">
AllowOverride None
Options None
<IfModule mod_authz_host.c>
Order allow,deny
Allow from all
</IfModule>
</Directory>
</IfModule>
I na koniec:
[cn w host218 ~]$ rpm -qa *apache*
apache-mod_alias-2.2.3-7
apache-mod_env-2.2.3-7
apache-mod_authn_file-2.2.3-7
apache-2.2.3-7
apache-mod_userdir-2.2.3-7
apache-mod_version-2.2.3-7
apache-apxs-2.2.3-7
apache-mod_vhost_alias-2.2.3-7
htpasswd-apache-2.2.3-7
apache-mod_negotiation-2.2.3-7
apache-mod_mime_magic-2.2.3-7
apache-mod_authz_user-2.2.3-7
apache-mod_dir-2.2.3-7
apache-base-2.2.3-7
apache-mod_perl-2.0.2-13
apache-mod_include-2.2.3-7
apache-mod_cgi-2.2.3-7
apache-mod_setenvif-2.2.3-7
apache-mod_auth_basic-2.2.3-7
apache-mod_auth-2.2.3-7
apache-mod_ssl-2.2.3-7
apache-index-2.2.3-7
apache-mod_authz_host-2.2.3-7
apache-mod_speling-2.2.3-7
apache-mod_cern_meta-2.2.3-7
apache-mod_autoindex-2.2.3-7
apache-mod_php-5.1.6-8
apache-mod_mime-2.2.3-7
apache-mod_log_config-2.2.3-7
apache-mod_authz_groupfile-2.2.3-7
apache-devel-2.2.3-7
apache-mod_perl-devel-2.0.2-13
apache-errordocs-2.2.3-7
apache-mod_asis-2.2.3-7
apache-tools-2.2.3-7
apache-mod_php4-4.4.4-8
Pozdrawiam,
Czesiek
Więcej informacji o liście dyskusyjnej pld-users-pl