Funkcjonalności warstw architektury referencyjnej Big Data
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
HTTP / 2 to nowa wersja przestarzałego protokołu HTTP / 1.1, który został znormalizowany w 1999 roku. Od tego czasu wiele się zmieniło w Internecie. Nasze aplikacje są bardziej złożone niż były w przeszłości, więc aby sobie z tym poradzić, konieczna była zmiana podstawowego protokołu transportowego. Najważniejszą rzeczą w HTTP / 2 jest to, że przyspieszy twoją stronę dla użytkowników końcowych.
W skrócie HTTP / 2 dodaje 5 kluczowych funkcji:
Wyjaśnienie wszystkich tych funkcji nie wchodzi w zakres tego samouczka, ale jeśli chcesz zagłębić się w ten temat, mogę polecić fragment książki High Performance Browser Networking - fragment HTTP / 2 .
W tym przewodniku zamierzamy zainstalować najnowszą stabilną wersję Nginx na Ubuntu 16.04 (Xenial), wygenerować samopodpisany certyfikat SSL, włączyć protokół HTTP / 2 w Nginx i zainstalować przeglądarkę tekstową, która elinks
będzie działać jako klient HTTP.
Aby zainstalować najnowszą stabilną wersję Nginx, musimy wydać sporo poleceń:
Musimy pobrać publiczny klucz PGP Nginx używany do podpisywania pakietów i repozytoriów i dodać go do kluczy używanych przez menedżera pakietów w celu zweryfikowania autentyczności pakietów pobranych z repozytorium.
wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
Usuń klucz PGP z systemu plików:
rm nginx_signing.key
Dodaj nowe repozytorium
printf "deb http://nginx.org/packages/ubuntu/ xenial nginx \ndeb-src http://nginx.org/packages/ubuntu/ xenial nginx \n" >> /etc/apt/sources.list.d/nginx.list
Zaktualizuj listę pakietów i zainstaluj Nginx:
apt update && apt install nginx -y
Aby zweryfikować wersję Nginx, możemy użyć:
nginx -v
# nginx version: nginx/1.10.1
Jeśli wszystko pójdzie dobrze, powinieneś zobaczyć wzorzec jak 1.10.x
na wyjściu podczas uruchamiania nginx -v
polecenia.
Chociaż specyfikacja HTTP / 2 nie wymusza na przeglądarkach implementacji HTTP / 2 przez TLS, wszystkie główne przeglądarki zdecydowały się na implementację HTTP / 2 przez TLS, ale nie na żadnej wersji TLS, tylko TLS 1.2 lub wyższej.
Stworzymy samopodpisane certyfikaty dla fikcyjnej example.com
domeny, do produkcji potrzebujesz ważnej domeny i korzystaj z zaufanego urzędu certyfikacji.
Wygeneruj klucz prywatny:
openssl genrsa -aes128 -out example.com.key 2048
Po uruchomieniu tego polecenia musisz wprowadzić hasło 2 razy. Ponieważ hasła są denerwujące, zamierzamy je usunąć.
Usuń hasło z klucza prywatnego:
openssl rsa -in example.com.key -out example.com.key
Wygeneruj żądanie podpisania certyfikatu (CSR):
openssl req -new -sha256 -key example.com.key -out cert-request.csr
Tworzymy certyfikat jednodomenowy, dlatego musimy ustawić pole nazwy zwykłej równe
example.com
domenie
Utwórz certyfikat:
openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
Posortuj certyfikat i klucz prywatny:
mkdir -p /etc/ssl/testing/private && mkdir /etc/ssl/testing/certs
mv example.com.key /etc/ssl/testing/private && mv example.com.crt /etc/ssl/testing/certs
Utwórz katalogi hostów wirtualnych nginx
mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
Następnie uruchom nano /etc/nginx/nginx.conf
i znajdź dyrektywę include /etc/nginx/conf.d/*.conf;
. Poniżej tej dyrektywy dodaj include /etc/nginx/sites-enabled/*;
Zapisz ( CTRL + O ), a następnie zamknij ( CTRL + X ).
##
# Virtual Hosts
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Za pomocą tego polecenia utwórz plik o nazwie example.com.conf
wewnątrz /etc/nginx/sites-available
katalogu nano /etc/nginx/sites-available/example.com.conf
i skopiuj / wklej następujący kod:
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /var/www/html;
index index.nginx-debian.html;
ssl_certificate /etc/ssl/testing/certs/example.com.crt;
ssl_certificate_key /etc/ssl/testing/private/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
}
Gratulacje, masz teraz serwer WWW z obsługą HTTP / 2 . Dodanie http2
parametru do listen
dyrektywy w wirtualnym hoście HTTPS zapewni obsługę HTTP / 2 .
Utwórz symboliczne łącze za /etc/nginx/sites-available/example.com.conf
pomocą tego polecenia:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
Testowa składnia konfiguracji
nginx -t
Uruchom ponownie Nginx, aby zastosować zmiany:
systemctl restart nginx
Dodaj example.com
domenę do /etc/hosts
pliku
echo '127.0.0.1 example.com' >> /etc/hosts
Do przetestowania twojego wirtualnego hosta potrzebujemy przeglądarki tekstowej - elinks.
Aby zainstalować elinks, użyj następującego polecenia:
apt install elinks
Aby przetestować działanie example.com
wirtualnego hosta:
elinks https://example.com
Aby wyjść z przeglądarki elinks, naciśnij q na klawiaturze, a następnie Enter .
Aby zobaczyć, jakie protokoły reklamuje serwer, najłatwiejszym sposobem jest użycie openssl
zestawu narzędzi.
openssl s_client -connect example.com:443 -nextprotoneg ''
W wyniku tego polecenia powinieneś zobaczyć coś takiego:
CONNECTED(00000003)
Protocols advertised by server: h2, http/1.1
Aby zobaczyć HTTP / 2 w akcji, możesz użyć narzędzi programistycznych przeglądarki. Protokół HTTP / 2 jest oznaczony za pomocą h2
lub HTTP/2.0
identyfikatorów. Otwórz panel sieci w narzędziach programistycznych i odśwież stronę.
Teraz powinieneś zdawać sobie sprawę z tego, jak „łatwe” jest włączenie HTTP / 2 w konfiguracji Nginx, ale to nie jest cała część ogólnego obrazu. Najpierw zastanów się nad włączeniem TLS / SSL na serwerze z silnymi pakietami szyfrów i upewnij się, że nie używasz szyfrów z czarnej listy . Dopiero po włączeniu silnego TLS / SSL na serwerze możesz zacząć myśleć o włączeniu HTTP / 2 .
Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.
Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.
13 komercyjnych narzędzi do ekstrakcji danych z Big Data
Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+
Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.
Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…
Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą
Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.
Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.
Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.