Instrukcja ma na celu przedstawienie podstawowej konfiguracji.
Wykorzystane narzędzia mają znacznie więcej większe możliwości oraz poruszane zagadnienia są bardziej skomplikowane niż mogą się wydawać na pierwszy rzut oka.
...
Do zrealizowania zadania wymagane jest wykupienie nazwy DNS w globalnym systemie DNS (w zależności od nazwy, koszt zaczyna się od kilku zł za pierwszy rok)lub wykorzystanie nazwy w domenie man.poznan.pl, która jest automatycznie generowana dla każdego zewnętrznego adresu IP.
Przygotowanie środowiska:
W panelu web-owym OpenStack utworzenie dwóch instancji które będę miały dodany zewnętrzny pływający adres IP. Do instancji należy utworzyć grupę zabezpieczeń która będzie pozwalała na ruch na portach 443 oraz 80.
Przykładowa konfiguracja:
...
W celu konfiguracji powyższych założeń pomoce będę instrukcje:
https://docs.psnc.pl/pages/viewpage.action?pageId=130287749
https://docs.psnc.pl/pages/viewpage.action?pageId=117372270
https://docs.psnc.pl/pages/viewpage.action?pageId=117372677
Jakiej nazwy mogę użyć w domenie man.poznan.pl?
Należy uruchomić np. narzędzie jakim jest nslookup i sprawdzić jaki rekord A jest zwracany przy użyciu adresu IP naszej instancji:
Jeśli serwery mają wykorzystywać mechanizm równoważenia obciążenia to certyfikat SSL generujemy na nazwę, która zostanie wygenerowana dla adresu IP load balancera.
Konfiguracji systemów:
Dla czytelności rozdzielę rozdziele serwery na system A oraz system B.
Konfiguracja systemu A:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo su – apt update apt upgrade apt install mc apache2 certbot python3-certbot-apache |
...
Code Block |
---|
certbot --apache -d www.manual.pietaadmin.pl -d manual.pietaadmin.pl |
- Weryfikacja
Konfiguracja systemu B:
Code Block | ||||
---|---|---|---|---|
| ||||
sudo su – apt update apt upgrade apt install mc apache2 |
...
Code Block | ||
---|---|---|
| ||
/etc/apache2/sites-enabled/strona.domena.pl.conf /etc/apache2/sites-enabled/strona.domena.pl-le-ssl.conf Cały katalog: /etc/letsencrypt/archive/www.manual.pietaadmin.pl/ |
Zadanie to można zautomatyzować wykorzystując narzędzie rdiff --> Kopia zapasowa katalogu przez sieć
- Aktywacja moduły SSL oraz Rewrite
...
Code Block |
---|
root@www-lb-manual-2:/etc/apache2# cat /etc/apache2/sites-enabled/strona.domena.pl.conf <VirtualHost *:80> DocumentRoot /var/www/mojastrona ServerName www.manual.pietaadmin.pl ServerAlias manual.pietaadmin.pl ServerAdmin admin@pietaadmin.pl RewriteEngine on RewriteCond %{SERVER_NAME} =manual.pietaadmin.pl [OR] RewriteCond %{SERVER_NAME} =www.manual.pietaadmin.pl RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost> root@www-lb-manual-2:/etc/apache2# cat /etc/apache2/sites-enabled/strona.domena.pl-le-ssl.conf <IfModule mod_ssl.c> <VirtualHost *:443> DocumentRoot /var/www/mojastrona ServerName www.manual.pietaadmin.pl ServerAlias manual.pietaadmin.pl ServerAdmin admin@pietaadmin.pl SSLCertificateFile /etc/ssl/www/fullchain.pem SSLCertificateKeyFile /etc/ssl/www/privkey.pem </VirtualHost> </IfModule> |
Konfiguracja mechanizmu równoważenia obciążenia (load-balancer).
Konfiguracje należy wykonać za pomocą przeglądarki mozilla firefox (w chwili pisania tej instrukcji na innych przeglądarkach występował błąd w kreatorze LB)Dla regionu BST konfigurację należy przeprowadzić z panelu web: https://openstack.man.poznan.pl/horizon/auth/login/
W panelu web-owym OpenStack Projekt -->Sieć-->Load Balancers -->Utwórz
...
- Wskazujemy podsieć wewnętrzną naszych serwerów raz i dodajemy nazwę:
- Kolejno
- Następnie
...
- Czekamy aż status będzie na Online Aktywny i dodajemy pływający adres IP z sieci zewnętrznej.
- Na końcu należy nakierować nazwy DNS na pływający adres IP load balancera.
Należy pamiętać, że darmowy certyfikat SSL lets encrypt jest ważny przez 90 dni.
...