PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache2 HTTP & HTTPS



poon
26.08.08, 12:37
Hallo Leute,
ich habe ein Problem und bin momentan ratlos, daher benötige ich Eure Hilfe.

Folgendes Szenario:
Apache-Server mit 2 V-Hosts einen für HTTP und einen für HTTPS
Der V-Host für HTTP hat eine ReDirect-Direktive mit Umleitung zum HTTPS Server. was auch funktioniert.

Nun ist mir leider aufgefallen das der HTTPS-Vhost trotzdem per HTTP zu erreichen ist statt nur per HTTPS.
Der direkte Aufruf http://web-srv03.domäne.de/otrs/index.pl funktioniert statt die Umleitung zu https.
Habe auch schon den http-vhost deaktiviert und nur den https-vhost gelassen, doch der Zugriff per http klappt immer noch.
Bin momentan ratlos und hoffe auf Ideen.

Hier mal kurz die Configs


NameVirtualHost web-srv03.domäne.de:80
#Listen 80

<VirtualHost web-srv03.domäne:80>
ServerAdmin root@localhost
ServerName web-srv03.domäne.de
DocumentRoot /var/www/
# ohne Fusszeilen
ServerSignature off

# Log-Files
CustomLog /var/log/apache2/access2.log combined
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel debug

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
RedirectMatch 301 ^/(.*)$ https://web-srv03.domäne.de/otrs/index.pl

</Directory>
</VirtualHost>


und https


<VirtualHost web-srv03.domäne.de:443>
ServerAdmin root@localhost
ServerName web-srv03.domäne.de:443
DocumentRoot /usr/share/otrs/var/httpd/htdocs/
# ohne Fusszeilen
ServerSignature off

# Log-Files
CustomLog /var/log/apache2/otrs_ssl_access2.log combined
ErrorLog /var/log/apache2/otrs_ssl_error.log
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel debug

# SSL
SSLEngine on
SSLCACertificateFile /etc/apache2/ssl/ca.crt
SSLCertificateFile /etc/apache2/ssl/web-srv03.domäne.de.crt
SSLCertificateKeyFile /etc/apache2/ssl/web-srv03.domäne.de.key



ScriptAlias /otrs/ "/usr/share/otrs/bin/cgi-bin/"
Alias /otrs-web/ "/usr/share/otrs/var/httpd/htdocs/"

marce
26.08.08, 12:44
Nun ist mir leider aufgefallen das der HTTPS-Vhost trotzdem per HTTP zu erreichen ist statt nur per HTTPS.
Der direkte Aufruf http://web-srv03.domäne.de/otrs/index.pl funktioniert statt die Umleitung zu https.
Habe auch schon den http-vhost deaktiviert und nur den https-vhost gelassen, doch der Zugriff per http klappt immer noch.
Bin momentan ratlos und hoffe auf Ideen.

wenn auch nach der Deaktivierung des http-vHost immer noch ein Zugriff möglich ist - dann stimmt da irgendwas nicht. Apache neu gestartet? Evtl. andere default- oder vHost-Einstellungen?

poon
26.08.08, 13:02
Das ist ja auch mein Problem. Der direkte URL-Aufruf per HTTP funktioniert immer noch trotz SSL ?
Apache ist schon neu gestartet.
der komplette Inhalt der vhost Directive ist oben gepostet. die default ist Standard:


ServerRoot "/etc/apache2"

LockFile /var/lock/apache2/accept.lock

PidFile /var/run/apache2.pid

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15


<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>

<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

User www-data
Group www-data


AccessFileName .htaccess

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

TypesConfig /etc/mime.types

DefaultType text/plain


HostnameLookups Off

ErrorLog /var/log/apache2/error.log

LogLevel warn

Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

Include /etc/apache2/httpd.conf

Include /etc/apache2/ports.conf

Include /etc/apache2/conf.d/

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

ServerTokens Full

ServerSignature On

<IfModule alias_module>
Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

</IfModule>

<IfModule mod_autoindex.c>

IndexOptions FancyIndexing VersionSort HTMLTable NameWidth=*

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.html
HeaderName HEADER.html

</IfModule>

<IfModule mod_mime.c>

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

AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
</IfModule>

<IfModule mod_negotiation.c>
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

ForceLanguagePriority Prefer Fallback

</IfModule>

<IfModule mod_mime.c>

AddCharset us-ascii .ascii .us-ascii
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .arb .arabic
AddCharset ISO-8859-7 .iso8859-7 .grk .greek
AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew
AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk
AddCharset ISO-8859-10 .iso8859-10 .latin6
AddCharset ISO-8859-13 .iso8859-13
AddCharset ISO-8859-14 .iso8859-14 .latin8
AddCharset ISO-8859-15 .iso8859-15 .latin9
AddCharset ISO-8859-16 .iso8859-16 .latin10
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5 .b5
AddCharset cn-Big5 .cn-big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8 .koi8
AddCharset KOI8-E .koi8-e
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-U .koi8-u
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-7 .utf7
AddCharset UTF-8 .utf8
AddCharset UTF-16 .utf16
AddCharset UTF-16BE .utf16be
AddCharset UTF-16LE .utf16le
AddCharset UTF-32 .utf32
AddCharset UTF-32BE .utf32be
AddCharset UTF-32LE .utf32le
AddCharset euc-cn .euc-cn
AddCharset euc-gb .euc-gb
AddCharset euc-jp .euc-jp
AddCharset euc-kr .euc-kr
AddCharset EUC-TW .euc-tw
AddCharset gb2312 .gb2312 .gb
AddCharset iso-10646-ucs-2 .ucs-2 .iso-10646-ucs-2
AddCharset iso-10646-ucs-4 .ucs-4 .iso-10646-ucs-4
AddCharset shift_jis .shift_jis .sjis




AddHandler type-map var

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</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

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
</IfModule>

marce
26.08.08, 13:04
wenn das Deaktivieren wie oben rein durch das Auskommentieren der Listen-Direktive geht: schau Dir mal die ports.conf an (oder greppe mal über's komplette Verzeichnis), ob da noch ein default-Listen irgendwo sich herumtreibt...

Zum Thema redirect: was wird denn nun geredirectet und was nicht?

poon
26.08.08, 13:13
okay das deaktivieren wurde durch a2dissite und einen reload durchgeführt.
Ein greppen ergab folgendes:

/etc/apache2/ports.conf:Listen 80
/etc/apache2/ports.conf:Listen 443
/etc/apache2/sites-available/default:#Listen 80
/etc/apache2/sites-available/otrs:#Listen 10.32.2.39:443

Ich hoffe du hast noch ne Idee

poon
26.08.08, 13:14
redirect siehe oben, nach Deaktivierung von http-vhost greift jetzt also keine Redirect Directive mehr.

marce
26.08.08, 13:15
Dann würde ich das in der ports.conf auch ändern - Du hast einen VHost auf :80 definiert mit einer direkten Listen-Direktive davor. Wenn Du die auskommentierst und ansonsten noch _irgendwo_ in der Apache-Konfiguration ein Listen 80 drin hast - gilt das natürlich.

Doch logisch, oder?

poon
26.08.08, 13:45
danke,
also zum Verständnis für mich. (hatte bisher nicht viel mit der ports.conf zu tun)
Die Ports.conf definiert global die Ports für HTTP, bzw HTTPS.
Eine Überschreibung in der einzelnen Vhost-config ist dann nicht möglich.

Demzufolge hatte ich zwar den vhost ssl-konform konfiguriert,der apache lauschte aber immer noch auf 80 aufgrund der Listen-Direktive hier.

Wenn ich jetzt also beide vhosts aktiviere, die Listen-Direktive in den vhostzs verwende und in der ports.conf deaktiviere sollte es mein Problem behoben sein.

Habe ich das so richtig verstanden ?