https Problem

Dieses Thema im Forum "Allgemein" wurde erstellt von Falcon37, 2. Sep. 2011.

  1. Falcon37

    Falcon37 New Member

    Mir ist gerade was aufgefallen in ISPConfig 3 in Verbindung mit Lenny.
    Eine Site soll unter https:// erreichbar sein (selbst erstelltes SSL Zertifikat) aber nun sind alle Seiten unter https:// erreichbar lenken aber dann auf diese Domain.

    Hier zum Verständnis wie ich das meinte:

    https://www.test1.com ruft https://www.test1.com auf
    https://www.test2.com aber https://www.test1.com
    https://www.test3.com -> https://www.test1.com
    usw.

    Der Punkt SSL ist aber bei allen anderen Webs nicht aktiviert.
    Ist dies normal, wie kann ich dies verhindern?

    Danke.
     
  2. ufreier

    ufreier New Member

    SSL vs name-based vhosts

    wäre dann logisch, wenn alle die gleiche IP-Adresse haben. SSL und name-based vhosts klappt nicht wirklich, ist hier ganz gut erklärt: SSL/TLS Strong Encryption: FAQ - Apache HTTP Server. Als Lösung: die anderen Websites dürfen sich nicht auf 443 melden sondern müssen auf Port 80 festgenagelt werden. Ich glaube das geht aber mit ISPConfig nicht, also zumindest habe ich bisher keine Option gefunden und unter 'Optionen' -> 'Apache Direktiven' gehört es eigentlich nicht hin, das müßte ja in den VirtualHost-Tag als :80. Dann also andersrum: für eine SSL-Site eine IP-Adresse auswähen, die sonst von keiner Website benutzt wird.

    Dabei ist noch folgendes interessant: irgendwie habe ich noch keine Möglichkeit gefunden zu unterbinden, dass ein Kunde bei seiner Website den Reiter SSL angezeigt bekommt, d.h. wenn ich es richtig verstehe, kann doch jeder Kunde für seine Site SSL einrichten? Und damit passiert dann genau das, was Du geschildert hast.

    Gruß, Uwe
     
  3. Falcon37

    Falcon37 New Member

    Hi, danke für die interessante und sehr schnelle Antwort! ;)
    Auf dem Server habe ich ein paar Subnetze daran liegt's eig. nicht denke ich mal.

    Hab das so geroutet. Jede Website hat bei mir mit oder ohne https immer seine eigene IP:
    Streamsite.xx - die https haben soll und muss (ist natürlich auch aktiviert) - 66.228.122.51
    anderesite.xx - SSL ist nicht aktiviert und trotzdem aufrufbar, verweißt dann auf die erste domain - 66.228.122.52
    anderesite2.xx - SSL ist aktiviert und aufrufbar, verweißt aber dann auf die erste domain - 66.228.122.53

    usw.

    Werde hier schreiben wenn ich sowas wie eine dauerhafte Lösung dafür habe.

    Ich erkläre das so autistisch anmutend da Samstag ist und ich gleich los will... Rest kann man sich ja denken :D
    Schönes WE!
     
  4. ufreier

    ufreier New Member

    hmm ...

    Davon weiß aber Dein Apache nichts, sonst würde er sich nicht so verhalten.:) Es würde mich interessieren, wie dessen conf aussieht.

    Gruß, Uwe
     
  5. Falcon37

    Falcon37 New Member

    Die /etc/apache2/httpd.conf ist leer, aber wenn ich so drüber nachndenke sollte es wohl er die /etc/apache2/apache2.conf sein :D:

    Code:
    #
    # Based upon the NCSA server configuration files originally by Rob McCool.
    [...]
    # Do NOT add a slash at the end of the directory path.
    #
    ServerRoot "/etc/apache2"
    
    #
    # The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
    #
    #<IfModule !mpm_winnt.c>
    #<IfModule !mpm_netware.c>
    LockFile /var/lock/apache2/accept.lock
    #</IfModule>
    #</IfModule>
    
    #
    # PidFile: The file in which the server should record its process
    # identification number when it starts.
    # This needs to be set in /etc/apache2/envvars
    #
    PidFile ${APACHE_PID_FILE}
    
    #
    # Timeout: The number of seconds before receives and sends time out.
    #
    Timeout 300
    
    #
    # KeepAlive: Whether or not to allow persistent connections (more than
    # one request per connection). Set to "Off" to deactivate.
    #
    KeepAlive On
    
    #
    # MaxKeepAliveRequests: The maximum number of requests to allow
    # during a persistent connection. Set to 0 to allow an unlimited amount.
    # We recommend you leave this number high, for maximum performance.
    #
    MaxKeepAliveRequests 100
    
    #
    # KeepAliveTimeout: Number of seconds to wait for the next request from the
    # same client on the same connection.
    #
    KeepAliveTimeout 15
    
    ##
    ## Server-Pool Size Regulation (MPM specific)
    ## 
    
    # prefork MPM
    # StartServers: number of server processes to start
    # MinSpareServers: minimum number of server processes which are kept spare
    # MaxSpareServers: maximum number of server processes which are kept spare
    # MaxClients: maximum number of server processes allowed to start
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_prefork_module>
        StartServers          5
        MinSpareServers       5
        MaxSpareServers      10
        MaxClients          150
        MaxRequestsPerChild   0
    </IfModule>
    
    # worker MPM
    # StartServers: initial number of server processes to start
    # MaxClients: maximum number of simultaneous client connections
    # MinSpareThreads: minimum number of worker threads which are kept spare
    # MaxSpareThreads: maximum number of worker threads which are kept spare
    # ThreadsPerChild: constant number of worker threads in each server process
    # MaxRequestsPerChild: maximum number of requests a server process serves
    <IfModule mpm_worker_module>
        StartServers          2
        MaxClients          150
        MinSpareThreads      25
        MaxSpareThreads      75 
        ThreadsPerChild      25
        MaxRequestsPerChild   0
    </IfModule>
    
    # These need to be set in /etc/apache2/envvars
    User ${APACHE_RUN_USER}
    Group ${APACHE_RUN_GROUP}
    
    #
    # AccessFileName: The name of the file to look for in each directory
    # for additional configuration directives.  See also the AllowOverride
    # directive.
    #
    
    AccessFileName .htaccess
    
    #
    # The following lines prevent .htaccess and .htpasswd files from being 
    # viewed by Web clients. 
    #
    <Files ~ "^\.ht">
        Order allow,deny
        Deny from all
    </Files>
    
    #
    # DefaultType is the default MIME type the server will use for a document
    # if it cannot otherwise determine one, such as from filename extensions.
    # If your server contains mostly text or HTML documents, "text/plain" is
    # a good value.  If most of your content is binary, such as applications
    # or images, you may want to use "application/octet-stream" instead to
    # keep browsers from trying to display binary files as though they are
    # text.
    #
    DefaultType text/plain
    
    
    #
    # HostnameLookups: Log the names of clients or just their IP addresses
    # e.g., www.apache.org (on) or 204.62.129.132 (off).
    # The default is off because it'd be overall better for the net if people
    # had to knowingly turn this feature on, since enabling it means that
    # each client request will result in AT LEAST one lookup request to the
    # nameserver.
    #
    HostnameLookups Off
    
    # 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 /var/log/apache2/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
    
    # Include module configuration:
    Include /etc/apache2/mods-enabled/*.load
    Include /etc/apache2/mods-enabled/*.conf
    
    # Include all the user configurations:
    Include /etc/apache2/httpd.conf
    
    # Include ports listing
    Include /etc/apache2/ports.conf
    
    #
    # The following directives define some format nicknames for use with
    # a CustomLog directive (see below).
    # If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
    #
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    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
    
    #
    # Define an access log for VirtualHosts that don't define their own logfile
    CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
    
    #
    # Customizable error responses come in three flavors:
    # 1) plain text 2) local redirects 3) external redirects
    #
    # Some examples:
    #ErrorDocument 500 "The server made a boo boo."
    #ErrorDocument 404 /missing.html
    #ErrorDocument 404 "/cgi-bin/missing_handler.pl"
    #ErrorDocument 402 http://www.example.com/subscription_info.html
    #
    
    #
    # Putting this all together, we can internationalize error responses.
    #
    # We use Alias to redirect any /error/HTTP_<error>.html.var response to
    # our collection of by-error message multi-language collections.  We use 
    # includes to substitute the appropriate text.
    #
    # You can modify the messages' appearance without changing any of the
    # default HTTP_<error>.html.var files by adding the line:
    #
    #   Alias /error/include/ "/your/include/path/"
    #
    # which allows you to create your own set of files by starting with the
    # /usr/share/apache2/error/include/ files and copying them to /your/include/path/, 
    # even on a per-VirtualHost basis.  The default include files will display
    # your Apache version number and your ServerAdmin email address regardless
    # of the setting of ServerSignature.
    #
    # The internationalized error documents require mod_alias, mod_include
    # and mod_negotiation.  To activate them, uncomment the following 30 lines.
    
    #    Alias /error/ "/usr/share/apache2/error/"
    #
    #    <Directory "/usr/share/apache2/error">
    #        AllowOverride None
    #        Options IncludesNoExec
    #        AddOutputFilter Includes html
    #        AddHandler type-map var
    #        Order allow,deny
    #        Allow from all
    #        LanguagePriority en cs de es fr it nl sv pt-br ro
    #        ForceLanguagePriority Prefer Fallback
    #    </Directory>
    #
    #    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    #    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    #    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    #    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    #    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    #    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    #    ErrorDocument 410 /error/HTTP_GONE.html.var
    #    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    #    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    #    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    #    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    #    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
    #    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    #    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    #    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    #    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    #    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
    
    
    
    # Include of directories ignores editors' and dpkg's backup files,
    # see README.Debian for details.
    
    # Include generic snippets of statements
    Include /etc/apache2/conf.d/
    
    # Include the virtual host configurations:
    Include /etc/apache2/sites-enabled/
    
    <Directory /usr/share/phpmyadmin>
    Order allow,deny
    Allow from all
    </Directory>
    
    <IfModule mod_evasive20.c>
        DOSHashTableSize    3097
        DOSPageCount        2
        DOSSiteCount        50
        DOSPageInterval     1
        DOSSiteInterval     1
        DOSBlockingPeriod   10
    DOSEmailNotify me@example.com
    DOSSystemCommand "su - someuser -c '/sbin/... %s ...'"
    DOSLogDir "/var/lock/mod_evasive"
    </IfModule>
    Maximale Länge 10000 Zeichen in dem Board. Deswegen remarks entfernt.
     
  6. ufreier

    ufreier New Member

    ja, vorbei sind die Zeiten, als der Apache eine übersichtliche conf hatte. Die hier ist auch recht hübsch - das mod_evasive kannte ich z.B. noch gar nicht, sieht interessant aus. Aber bzgl. Deines Problems ist die Konfiguration der vhosts wichtig, also der Bereich:

    Code:
    Include /etc/apache2/sites-enabled/
    und daraus die Dateien, in denen die

    definiert sind. Dazu vielleicht noch ein Blick in die /etc/apache2/sites-available/ispconfig.conf ganz unten, dort schreibt ISPConfig die NameVirtualHost-IPs/Ports rein, dass da alles okay ist und dann sollte sich das Phänomen eigentlich erklären.

    Gruß, Uwe
     
  7. Falcon37

    Falcon37 New Member

    Vielen herzlichen Dank für die Hilfe! :D

    Zu mod_evasive muss ich noch sagen, dass der Server momentan eine Uptime von 732 Tagen hat und ich keine Ahnung habe ob dies da auch so funktioniert ;) Professionalität ist ̶n̶̶i̶̶c̶̶h̶̶t̶ mein zweiter Vorname!
     

Diese Seite empfehlen