Ero sivun ”Apache ja HTTPS” versioiden välillä
p (ehkä vähän jakeluriippumattomammaksi) |
|||
Rivi 1: | Rivi 1: | ||
Otetaan käyttöön [[wikipedia: | Otetaan käyttöön [[wikipedia:fi:ssl|SSL]]-salaus käyttöön [[Apache]]n kanssa. Oletaan, että Apache2 on asennettuan järjestelmään. | ||
====Sertifikaatti==== | ====Sertifikaatti==== | ||
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan. | Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan. | ||
apache2-ssl-certificate -days 365 | |||
Vastaile tuleviin kysymyksiin. | Vastaile tuleviin kysymyksiin. | ||
====Aktivoidaan SSL-moduuli==== | ====Aktivoidaan SSL-moduuli==== | ||
a2enmod ssl | |||
====Asetetaan Apache kuuntelemaan oikeaa porttia==== | ====Asetetaan Apache kuuntelemaan oikeaa porttia==== | ||
Lisää tiedostoon '''/etc/apache2/ports.conf''' rivi: | Lisää tiedostoon '''/etc/apache2/ports.conf''' rivi: | ||
Listen 443 | Listen 443 | ||
443 on https:n oletus portti. | 443 on [[wikipedia:fi:https|https:n]] oletus portti. | ||
====SSL-suojatuille sivuille omat asetukset==== | ====SSL-suojatuille sivuille omat asetukset==== | ||
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: | Lisää nyt luotuun tiedostoon ( '''/etc/apache2/sites-available/ssl''' ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan: | ||
NameVirtualHost *:443 | NameVirtualHost *:443 | ||
Rivi 23: | Rivi 23: | ||
SSLCertificateFile /etc/apache2/ssl/apache.pem | SSLCertificateFile /etc/apache2/ssl/apache.pem | ||
Aktivoidaan asetukset. | Aktivoidaan asetukset. | ||
a2ensite ssl | |||
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan. | Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan. | ||
apache2ctl restart | |||
Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan. | Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan. | ||
Rivi 34: | Rivi 34: | ||
Aktoivoidaan taas oikea moduuli. | Aktoivoidaan taas oikea moduuli. | ||
a2enmod rewrite | |||
Muokataan tiedostoa '''/etc/apache2/sites-available/default''' lisäämällä <VirtualHost *>-tagin sisään: | Muokataan tiedostoa '''/etc/apache2/sites-available/default''' lisäämällä <VirtualHost *>-tagin sisään: | ||
RewriteEngine on | RewriteEngine on | ||
Rivi 44: | Rivi 44: | ||
Muutokset tulevat voimaan käynnistämällä Apache uusiksi. | Muutokset tulevat voimaan käynnistämällä Apache uusiksi. | ||
apache2ctl restart | |||
==Linkkejä== | ==Linkkejä== |
Versio 8. helmikuuta 2007 kello 16.13
Otetaan käyttöön SSL-salaus käyttöön Apachen kanssa. Oletaan, että Apache2 on asennettuan järjestelmään.
Sertifikaatti
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.
apache2-ssl-certificate -days 365
Vastaile tuleviin kysymyksiin.
Aktivoidaan SSL-moduuli
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
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 <virtualhost *:443>-tagin sisään rivit:
SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem
Aktivoidaan asetukset.
a2ensite ssl
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.
apache2ctl restart
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.
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.
apache2ctl restart