Portál AbcLinuxu, 5. května 2025 15:13
Dobry den,
do nedavna mi stacila pro https jedna domena, nyni jsem musel rozsirovat a nastal problem s nefunkcnosti dalsich virtualhostu. Nekde jsem se docetl, ze pro jednu domenu, musi byt jedna IP. Nahradil jsem tedy "*" za ip adresy a druhy virtualhost zacal fungovat. Nicmene se mi vyse uvedena teorie nezda. Jeste bych te teorii veril, pokud by se jednalo o pouziti rozdilnych certifikatu. Skutecnosti vsak je, ze virtualhosty (tak jak jsem je tvoril u http) mi pri jedne IP adrese nefunguji.
Muze me nekdo nakopnout spravnym smerem? Pripadne poskytnout funkcni konfiguraci?
V soucasne chvili jsem na tom takto:
<PRE>
<VirtualHost _default_:443>
DocumentRoot "/home/web/ssl"
ServerName 192.168.111.1:443
AccessFileName .htaccess
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/pki/roza/server/server.crt
SSLCertificateKeyFile /etc/pki/roza/server/server.key
<Files ~ "\.(cgi|shtml|phtml|php3?)$">
SSLOptions +StdEnvVars
</Files>
<Directory "/var/www/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
include /etc/httpd/conf/adresare.conf
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>
<VirtualHost 192.168.111.65:443>
DocumentRoot /home/web/ssl/service
ServerName 192.168.111.65:443
SSLEngine on
AccessFileName .htaccess
SSLCertificateFile /etc/pki/roza/server/server.crt
SSLCertificateKeyFile /etc/pki/roza/server/server.key
</VirtualHost>
</PRE>
Predem dekuji.
Dle meho nazoru je problem v tom, ze pouzivate defaultni virtualhost a exaktni zaroven...
myslim si, ze by to melo vypadat takto:
1. VYMAZAT cely blok
<VirtualHost _default_:443>
...</VirtualHost>
2. nadefinovat oba virtualhosty
(nezapomenout uvest tuto directivu pro name-based hosty) NameVirtualHost *:443
<VirtualHost nejakaIP:443> DocumentRoot /nejakacesta ServerName nejakejmeno SSLEngine on SSLCertificateFile /etc/pki/roza/server/server.crt SSLCertificateKeyFile /etc/pki/roza/server/server.key </VirtualHost>
<VirtualHost jinaIP:443> DocumentRoot /jinacesta
ServerName jinejmeno SSLEngine on SSLCertificateFile /etc/pki/roza/server/server.crt SSLCertificateKeyFile /etc/pki/roza/server/server.key </VirtualHost>
...a uvidte...
jeste pozn. - u ssl muzete mit vice hostu na jedne IP, ale musite pocitat s tim, ze nemuzete uzit ruzne certifikaty... Tzn obdobne, jako u name-based http muzete uzivat ServerName a ServerAlias BEZ nutnosti dalsi alokace IP... Podstatne je, zdali mohou mit ostatni VH shodny certifikat... :)
Po vynechani Virtualhost_default jsem zacal bojovat s problemem "Kód chyby: ssl_error_rx_record_too_long", tak jsem volbu Virtualhost_default uplne vyremoval a jsem tam kde jsem byl.
Vase konfigurace je funkcni, mam problem s konfiguraci typu
IP, DocumentRoot, /cesta1, ServerName jmeno1, ...
stejna IP, DocumentRoot /cesta2, ServerName jmeno2
V tomto pripade skace jemno1 i jmeno2 do /cesty1 a za ziveho boha nevim proc. Pokud si vystacim se dvemi domenami, pak to lze resit dvemi adresami, ale kdyz budu potrebovat vice domen, mam problem s nedostatkem verejnych IP :))
Boze!!
Na vine chybejici NameVirtualHost v ssl.conf...... Pak jsem to pres par drobnych komplikaci dopatlal do pozadovane funkcnosti.
UFF!
Dekuji zucastnenym.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.