it-swarm-eu.dev

Konfigurace SSL

Používám Drupal 6) a již jsem nastavil SSL certifikát (s mou vlastní certifikační autoritou) konfiguraci mého serveru Apache a přidal jsem následující přesměrování do Drupal . htaccess soubor.

RewriteCond %{SERVER_PORT} !^443$  
RewriteRule ^test/home https://localhost/test/home [R=301,L]

Když se pokusím o přístup http: // test/home , přesměruje se na https: // test/home správně, ale ukáže chybu 404.

Nenalezeno

Požadovaná adresa URL/test/domovská stránka nebyla na tomto serveru nalezena.
Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.6 s Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g Server na localhost Port 443

Modul zabezpečených stránek navíc neumožňuje zabezpečené stránky.

enter image description here

Existuje nějaký problém s konfigurací? Prosím, proveďte mě.

5
ArK

Předpokládám, že to hostujete na svém vlastním serveru? Měl jsem stejný problém. Nakonec to byl problém s mou definicí Vhost v Apache. Existují samostatné definice vhostingu pro přístup http a https (nejsem ninja Apache, takže to nemusí být nejúčinnější způsob, ale fungovalo to). Ujistěte se, že váš SSL vhost směřuje do stejného adresáře jako váš normální vhost. Vypadá to, že se snaží stáhnout váš web z jiného adresáře na vašem serveru.

Až to zkontrolujete, klikněte na odkaz „Pokud tento test selhal, pak jděte sem“.

Pokud používáte modul Zabezpečené stránky, neměli byste také používat přepisování .htaccess.

5
Chaulky

Jak poukazují Chaulky, existují samostatné definice vhost pro 80 a 443. Nastavení Apache je o něco složitější, když pracujete s SSL. Tvoji duchové by měli být něco podobného:


<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.example.com
  ServerAlias example.com
  DocumentRoot /var/www/drupal6

  <Directory /var/www/drupal6>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

  ErrorLog /var/log/Apache2/error_example.com.log
  CustomLog /var/log/Apache2/access_example.com.log combined
  ServerSignature On

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
</VirtualHost>

<VirtualHost *:443>
  ServerAdmin [email protected]
  ServerName example.com
  ServerAlias www\.example\.com
  DocumentRoot /var/www/drupal6

  <Directory /var/www/drupal6>
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
  </Directory>

  ErrorLog /var/log/Apache2/error_example.com.log
  CustomLog /var/log/Apache2/access_example.com.log combined
  ServerSignature On

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  # Put SSL stuff in here
</VirtualHost>

Takže máte jeden pro port 80 a jeden pro port 443.

Zkontrolujte své porty.conf a ujistěte se, že máte něco jako:



  Listen 443

Pokud nemáte dobrý důvod, proč to neudělám, úplně bych prokopnul modul securepages a celý web spustil v režimu SSL. Vzhledem pravidla ve vašem. Úspěchu se to stejně snažíte.

Pokud jste chtěli přesměrovat veškerý zabezpečený provoz, můžete použít tuto verzi nezabezpečeného vhost:


<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName www.example.com
  ServerAlias example.com
  DocumentRoot /var/www/drupal6
  Redirect / https://www.example.com

  ErrorLog /var/log/Apache2/error_example.com.log
  CustomLog /var/log/Apache2/access_example.com.log combined
  ServerSignature On

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
</VirtualHost>

Je to trochu dlouhé, promiňte, ale doufejme, že to je to, co hledáte!

5
Chris Cohen