Ero sivun ”Apache ja HTTPS” versioiden välillä
p (example.com ;)) |
pEi muokkausyhteenvetoa |
||
Rivi 16: | Rivi 16: | ||
====SSL-suojatuille sivuille omat asetukset==== | ====SSL-suojatuille sivuille omat asetukset==== | ||
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl | sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl | ||
Lisää kahdelle ensimmäiselle riville porttinumerot tähän tapaan: | Lisää nyt luotuun tiedostoon ( '''/etc/apache2/sites-available/ssl''' ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan: | ||
NameVirtualHost *:443 | NameVirtualHost *:443 | ||
<virtualhost *:443> | <virtualhost *:443> |
Versio 18. joulukuuta 2006 kello 18.37
Otetaan käyttöön SSL-salaus käyttöön Apachen kanssa. Oletaan, että Apache2 on asennettuan järjestelmään. Ohje testattu Ubuntun kanssa.
Sertifikaatti
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.
sudo apache2-ssl-certificate -days 365
Vastaile tuleviin kysymyksiin.
Aktivoidaan SSL-moduuli
sudo a2enmod ssl
Asetetaan Apache kuuntelemaan oikeaa porttia
Lisää tiedostoon /etc/apache2/ports.conf rivi:
Listen 443
443 on https:n oletus portti.
SSL-suojatuille sivuille omat asetukset
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Lisää nyt luotuun tiedostoon ( /etc/apache2/sites-available/ssl ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan:
NameVirtualHost *:443 <virtualhost *:443>
Ja laita <virutalhost *:443>-tagin sisään rivit:
SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem
Aktivoidaan asetukset.
sudo a2ensite ssl
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.
sudo /etc/init.d/apache2 force-reload
Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan.
Mod rewrite
Nyt käyttäjä pystyy valitsemaan käyttääkö hän salausta vai ei. Usein halutaan pakottaa käyttäjä käyttämään salattua yhteyttä. Se onnistuu Mod rewritella.
Aktoivoidaan taas oikea moduuli.
sudo a2enmod rewrite
Muokataan tiedostoa /etc/apache2/sites-available/default lisäämällä <VirtualHost *>-tagin sisään:
RewriteEngine on RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^/salainen(.*)$ https://%{SERVER_NAME}/salainen$1 [L,R] RewriteLog "/var/log/apache2/rewrite.log" RewriteLogLevel 2
Nyt http://www.example.com/salainen/ ohjautuu automaattisesti SSL-salattuun yhteyteen https://www.example.com/salainen/. Jos haluat kaikki sivut SSL-salauksen alle voit jättää edelliseen hakemiston kohdalle pelkästään /:n. Eli jätä vain sana "salainen" pois.
Muutokset tulevat voimaan käynnistämällä Apache uusiksi.
sudo /etc/init.d/apache2 force-reload