Gå til innhold

Apache: ssl sertifikat for flere virtuelle domener


petterg

Anbefalte innlegg

Videoannonse
Annonse

Det der så lovende ut i går kveld, uten at jeg prøvde. Nå har jeg prøvd, og det funka veldig dårlig!

Her er grunnen:

http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html.en#vhosts

 

Kan man på noe vis gå rundt dette med en router? Altså at pakker sendt til https://domene1.no går til port 441 internt og https://domene2.no går til port 442, mens https://ip-adresse fortsatt går til port 443?

Lenke til kommentar

Why is it not possible to use Name-Based Virtual Hosting to identify different SSL virtual hosts?

 

Name-Based Virtual Hosting is a very popular method of identifying different virtual hosts. It allows you to use the same IP address and the same port number for many different sites. When people move on to SSL, it seems natural to assume that the same method can be used to have lots of different SSL virtual hosts on the same server.

 

It comes as rather a shock to learn that it is impossible.

 

Vel, jeg bruker SSL på 4 forskjellige domener og har ingen problem.

 

Eksempel på en av sidene mine (projects.godheim.org):

 

SSL vhost

<VirtualHost *:443>
       ServerAdmin [email protected]
       Servername projects.godheim.org
       DocumentRoot /home/httpd/projects.godheim.org/html/

       <Directory /home/httpd/projects.godheim.org/html/>
               Options FollowSymLinks Indexes
               AllowOverride All
               Order allow,deny
               Allow from all
       </Directory>

SSLEngine On
SSLCertificateFile /home/ssl/godheim.cert
SSLCertificateKeyFile /home/ssl/godheim.key

       CustomLog /home/httpd/projects.godheim.org/access_log combined
       ErrorLog /home/httpd/projects.godheim.org/error_log
</VirtualHost>

 

"Vanlig" vhost

<VirtualHost *:80>
       ServerAdmin [email protected]
       Servername projects.godheim.org
       DocumentRoot /home/httpd/projects.godheim.org/html/

       <Directory /home/httpd/projects.godheim.org/html/>
               Options FollowSymLinks Indexes
               AllowOverride All
               Order allow,deny
               Allow from all
       </Directory>

       CustomLog /home/httpd/projects.godheim.org/access_log combined
       ErrorLog /home/httpd/projects.godheim.org/error_log
</VirtualHost>

Lenke til kommentar

har du da listet de andre domenene på samme måte i samme config fil?

M.a.o det skulle latt seg gjøre å sette opp slik i mitt tilfelle:

<VirtualHost *:443>
      ServerAdmin [email protected]
      Servername domene1.no
      DocumentRoot /home/httpd/domene1.no/html/

      <Directory /home/httpd/domene1.no/html/>
              Options FollowSymLinks Indexes
              AllowOverride All
              Order allow,deny
              Allow from all
      </Directory>

SSLEngine On
SSLCertificateFile /home/ssl/domene1.cert
SSLCertificateKeyFile /home/ssl/domene1.key
</VirtualHost>
<VirtualHost *:443>
      ServerAdmin [email protected]
      Servername domene2.no
      DocumentRoot /home/httpd/domene2.no/html/

      <Directory /home/httpd/domene2.no/html/>
              Options FollowSymLinks Indexes
              AllowOverride All
              Order allow,deny
              Allow from all
      </Directory>
SSLEngine On
SSLCertificateFile /home/ssl/domene2.cert
SSLCertificateKeyFile /home/ssl/domene2.key
</VirtualHost>

 

(Med slik config får jeg feilmeld at det allerede er definert en virtuell host for adressen *:443, og apache vil ikke starte!)

Lenke til kommentar

Er det ikke noe feil i config filen til SSL?

 

Legger med min :

LoadModule ssl_module libexec/apache/libssl.so

<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>

<IfDefine SSL>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
</IfDefine>

<IfModule mod_ssl.c>
SSLPassPhraseDialog  builtin
SSLSessionCache         dbm:/var/log/apache/ssl_scache
SSLSessionCacheTimeout  300
SSLMutex  file:/var/log/apache/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog      /var/log/apache/ssl_engine_log
SSLLogLevel info
</IfModule>

<IfDefine SSL>

NameVirtualHost *:443

<VirtualHost *:443>
ServerAdmin [email protected]
ServerName odin.godheim.org
DocumentRoot /home/httpd/odin.godheim.org/html/
SSLEngine On
SSLCertificateFile /home/ssl/godheim.cert
SSLCertificateKeyFile /home/ssl/godheim.key
</VirtualHost>

Include /home/vhosts/443/

</IfDefine>

Lenke til kommentar
Det der så lovende ut i går kveld, uten at jeg prøvde. Nå har jeg prøvd, og det funka veldig dårlig!

Her er grunnen:

http://httpd.apache.org/docs-2.0/ssl/ssl_faq.html.en#vhosts

 

Kan man på noe vis gå rundt dette med en router? Altså at pakker sendt til https://domene1.no går til port 441 internt og https://domene2.no går til port 442, mens https://ip-adresse fortsatt går til port 443?

Uten at jeg er noen apache-ekspert - er ikke vhosts basert på at browseren sender ut hvilket domene den er på i et fellt, ikke porter?

Lenke til kommentar
Er det ikke noe feil i config filen til SSL?

 

Legger med min :

....
Include /home/vhosts/443/
...

Godt mulig det er noe feil i config filene mine

 

Jeg er ingen ekspert på apache config, men jeg ser bare ETT domene i eksempelet. Hvordan har du definert de andre? Ligger de andre i /home/vhosts/443/ ? I såfall hvordan er de definert der?

Lenke til kommentar
Eksempel på en av sidene mine (projects.godheim.org):

 

SSL vhost

<VirtualHost *:443>
       ServerAdmin [email protected]
       Servername projects.godheim.org
       DocumentRoot /home/httpd/projects.godheim.org/html/

       <Directory /home/httpd/projects.godheim.org/html/>
               Options FollowSymLinks Indexes
               AllowOverride All
               Order allow,deny
               Allow from all
       </Directory>

SSLEngine On
SSLCertificateFile /home/ssl/godheim.cert
SSLCertificateKeyFile /home/ssl/godheim.key

       CustomLog /home/httpd/projects.godheim.org/access_log combined
       ErrorLog /home/httpd/projects.godheim.org/error_log
</VirtualHost>

De ligger som filer under /home/vhosts/443

Lenke til kommentar

Fatter ikke hvordan du får til det der.....

 

Har prøvd slik du beskriver og får

* Starting apache2...
[Sat Nov 27 11:06:00 2004] [warn] _default_ VirtualHost overlap on port 443, the
first has precedence                                                     [ ok ]

 

Når man så setter browseren til domene2.com kommer:

The name on the security certificate is invalid or does not match the name of the site

Lenke til kommentar

Et lite besøk på sidene dine viser jo at du ikke har fått det helt til du heller... får samme advarsel om at sertifikat navn ikke matcher url.

 

Men det skyldes at du har samme sertifikat fil for alle vhostene.

 

Det du har fått til, som jeg ikke får til er å styre domene1.com og domene2.com til forskjellige mapper. Det betyr altså at du på et eller annet finurlig vis har fått apache til å godta flere ssl vhosts.

Får du noen [warn] når du starter apache?

Lenke til kommentar

Her er httpd.conf filen min hvis den er til noe hjelp

ServerType standalone
ServerRoot "/usr"
PidFile /var/run/httpd.pid
ScoreBoardFile /var/run/httpd.scoreboard
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 150
MaxRequestsPerChild 0

LoadModule vhost_alias_module libexec/apache/mod_vhost_alias.so
LoadModule env_module         libexec/apache/mod_env.so
LoadModule define_module      libexec/apache/mod_define.so
LoadModule config_log_module  libexec/apache/mod_log_config.so
LoadModule mime_magic_module  libexec/apache/mod_mime_magic.so
LoadModule mime_module        libexec/apache/mod_mime.so
LoadModule negotiation_module libexec/apache/mod_negotiation.so
LoadModule status_module      libexec/apache/mod_status.so
LoadModule info_module        libexec/apache/mod_info.so
LoadModule includes_module    libexec/apache/mod_include.so
LoadModule autoindex_module   libexec/apache/mod_autoindex.so
LoadModule dir_module         libexec/apache/mod_dir.so
LoadModule cgi_module         libexec/apache/mod_cgi.so
LoadModule asis_module        libexec/apache/mod_asis.so
LoadModule imap_module        libexec/apache/mod_imap.so
LoadModule action_module      libexec/apache/mod_actions.so
LoadModule speling_module     libexec/apache/mod_speling.so
LoadModule userdir_module     libexec/apache/mod_userdir.so
LoadModule alias_module       libexec/apache/mod_alias.so
LoadModule rewrite_module     libexec/apache/mod_rewrite.so
LoadModule access_module      libexec/apache/mod_access.so
LoadModule auth_module        libexec/apache/mod_auth.so
LoadModule anon_auth_module   libexec/apache/mod_auth_anon.so
LoadModule dbm_auth_module    libexec/apache/mod_auth_dbm.so
LoadModule digest_module      libexec/apache/mod_digest.so
LoadModule proxy_module       libexec/apache/libproxy.so
LoadModule cern_meta_module   libexec/apache/mod_cern_meta.so
LoadModule expires_module     libexec/apache/mod_expires.so
LoadModule headers_module     libexec/apache/mod_headers.so
LoadModule usertrack_module   libexec/apache/mod_usertrack.so
LoadModule log_forensic_module libexec/apache/mod_log_forensic.so
LoadModule unique_id_module   libexec/apache/mod_unique_id.so
LoadModule setenvif_module    libexec/apache/mod_setenvif.so

ClearModuleList
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_define.c
AddModule mod_log_config.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_dbm.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_log_forensic.c
AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c

Port 80
User nobody
Group nobody
ServerAdmin [email protected]
ServerName 127.0.0.1
DocumentRoot "/var/www/htdocs"

<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

<Directory "/var/www/htdocs">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

<IfModule mod_userdir.c>
   UserDir public_html
</IfModule>

<Directory /home/users/*/public_html>
   AllowOverride FileInfo AuthConfig Limit
   Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
   <Limit GET POST OPTIONS PROPFIND>
       Order allow,deny
       Allow from all
   </Limit>
   <LimitExcept GET POST OPTIONS PROPFIND>
       Order deny,allow
       Deny from all
   </LimitExcept>
</Directory>

<IfModule mod_dir.c>
   DirectoryIndex index.html index.htm index.php
</IfModule>

AccessFileName .htaccess

<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
   Satisfy All
</Files>

UseCanonicalName On

<IfModule mod_mime.c>
   TypesConfig /etc/apache/mime.types
</IfModule>

DefaultType text/plain

<IfModule mod_mime_magic.c>
   MIMEMagicFile /etc/apache/magic
</IfModule>

HostnameLookups Off

ErrorLog /var/log/apache/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache/access_log common

ServerSignature Off

<IfModule mod_alias.c>

   Alias /icons/ "/var/www/icons/"

   <Directory "/var/www/icons">
       Options Indexes MultiViews
       AllowOverride None
       Order allow,deny
       Allow from all
   </Directory>

   Alias /manual/ "/var/www/htdocs/manual/"

   <Directory "/var/www/htdocs/manual">
       Options Indexes FollowSymlinks MultiViews
       AllowOverride None
       Order allow,deny
       Allow from all
   </Directory>

   ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

   <Directory "/var/www/cgi-bin">
       AllowOverride None
       Options None
       Order allow,deny
       Allow from all
   </Directory>

</IfModule>


<IfModule mod_autoindex.c>

   IndexOptions FancyIndexing

   AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

   AddIconByType (TXT,/icons/text.gif) text/*
   AddIconByType (IMG,/icons/image2.gif) image/*
   AddIconByType (SND,/icons/sound2.gif) audio/*
   AddIconByType (VID,/icons/movie.gif) video/*

   AddIcon /icons/binary.gif .bin .exe
   AddIcon /icons/binhex.gif .hqx
   AddIcon /icons/tar.gif .tar
   AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
   AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
   AddIcon /icons/a.gif .ps .ai .eps
   AddIcon /icons/layout.gif .html .shtml .htm .pdf
   AddIcon /icons/text.gif .txt
   AddIcon /icons/c.gif .c
   AddIcon /icons/p.gif .pl .py
   AddIcon /icons/f.gif .for
   AddIcon /icons/dvi.gif .dvi
   AddIcon /icons/uuencoded.gif .uu
   AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
   AddIcon /icons/tex.gif .tex
   AddIcon /icons/bomb.gif core

   AddIcon /icons/back.gif ..
   AddIcon /icons/hand.right.gif README
   AddIcon /icons/folder.gif ^^DIRECTORY^^
   AddIcon /icons/blank.gif ^^BLANKICON^^

   DefaultIcon /icons/unknown.gif

   ReadmeName README
   HeaderName HEADER

   IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>

<IfModule mod_mime.c>

   AddLanguage da .dk
   AddLanguage nl .nl
   AddLanguage en .en
   AddLanguage et .ee
   AddLanguage fr .fr
   AddLanguage de .de
   AddLanguage el .el
   AddLanguage he .he
   AddCharset ISO-8859-8 .iso8859-8
   AddLanguage it .it
   AddLanguage ja .ja
   AddCharset ISO-2022-JP .jis
   AddLanguage kr .kr
   AddCharset ISO-2022-KR .iso-kr
   AddLanguage nn .nn
   AddLanguage no .no
   AddLanguage pl .po
   AddCharset ISO-8859-2 .iso-pl
   AddLanguage pt .pt
   AddLanguage pt-br .pt-br
   AddLanguage ltz .lu
   AddLanguage ca .ca
   AddLanguage es .es
   AddLanguage sv .sv
   AddLanguage cs .cz .cs
   AddLanguage ru .ru
   AddLanguage zh-TW .zh-tw
   AddCharset Big5         .Big5    .big5
   AddCharset WINDOWS-1251 .cp-1251
   AddCharset CP866        .cp866
   AddCharset ISO-8859-5   .iso-ru
   AddCharset KOI8-R       .koi8-r
   AddCharset UCS-2        .ucs2
   AddCharset UCS-4        .ucs4
   AddCharset UTF-8        .utf8

   <IfModule mod_negotiation.c>
       LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
   </IfModule>

   AddType application/x-tar .tgz
   AddEncoding x-compress .Z
   AddEncoding x-gzip .gz .tgz

</IfModule>

<IfModule mod_setenvif.c>

   BrowserMatch "Mozilla/2" nokeepalive
   BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
   BrowserMatch "RealPlayer 4\.0" force-response-1.0
   BrowserMatch "Java/1\.0" force-response-1.0
   BrowserMatch "JDK/1\.0" force-response-1.0

</IfModule>

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName odin.godheim.org
DocumentRoot /home/httpd/odin.godheim.org/html/
</VirtualHost>

Include /home/vhosts/80


Include /etc/apache/mod_php.conf
Include /etc/apache/mod_ssl.conf

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...