Frage

Meine Konfiguration ist:

Listen 443 http
NameVirtualHost *:80
NameVirtualHost *:443
ServerName *:80

<VirtualHost *:80> 
  [some non-ssl stuff]
  ServerName account.example.com
</VirtualHost>

<VirtualHost *:443> 
  [some non-ssl stuff(directory, docroot)] 
  ServerName account.example.com
  SSLEngine on
  SSLCertificateFile /Users/myusername/certs/server.crt
  SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>

Ich kann also nicht auf die HTTP -Version meiner Website zugreifen, aber die SSL -Version funktioniert korrekt. Ich möchte beide Vhosts, HTTP (80) und HTTPS (443) verwenden, um HTTP in HTTPS URL über mod_rewrite umzuschreiben.

uname -a
Linux 3.4.62-53.42.amzn1.x86_64 GNU/Linux

httpd -v
Server version: Apache/2.2.25 (Unix)

Bitte helfen Sie zu verstehen, was ich falsch mache.

War es hilfreich?

Lösung

Meine Konfiguration ist also jetzt:

Listen 443 http
Listen 80
NameVirtualHost *:80
NameVirtualHost *:443
ServerName *:80

<VirtualHost *:443> 
  [some non-ssl stuff(directory, docroot)] 
  ServerName account.example.com
  SSLEngine on
  SSLCertificateFile /Users/myusername/certs/server.crt
  SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>

<VirtualHost *:80>
  SSLEngine off
  [other stuff like docroot]
</VirtualHost>

Ich bin mir nicht sicher SSLEngine off, aber jetzt funktioniert es. Daher füge ich eine Umschreibung von Recrite -Regel, um von http zu https in http Vhosts .htaccess -Datei umzusteigen:

#Redirrect from http to https
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top