Възходът на машините: Реални приложения на AI
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
HTTP/2 е новата версия на вече остарял HTTP/1.1 протокол, който беше стандартизиран още през 1999 г. Оттогава много се промениха в мрежата. Нашите приложения са по-сложни, отколкото преди, така че, за да се справим с това, беше необходима промяна в основния транспортен протокол. Най-важното нещо за HTTP/2 е, че той ще направи вашата уеб страница по-бърза за крайните потребители.
Накратко HTTP/2 добавя 5 ключови функции:
Обясняването на всички тези функции е извън обхвата на този урок, но ако искате да се задълбочите в тази тема, мога да препоръчам откъс от книгата за високопроизводителни мрежови браузъри - HTTP/2 откъс .
В това ръководство ще инсталираме най-новата стабилна версия на Nginx на Ubuntu 16.04 (Xenial), ще генерираме самоподписан SSL сертификат, ще активираме HTTP/2 протокол в Nginx и ще инсталираме текстов базиран браузър, който elinksда действа като HTTP клиент.
За да инсталираме най-новата стабилна версия на Nginx, трябва да издадем доста команди:
Трябва да изтеглим публичен PGP ключ на Nginx, използван за подписване на пакети и хранилища, и да го добавим в ключодържателя, използван от мениджъра на пакети, за да проверим автентичността на пакетите, изтеглени от хранилището.
wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
Изтрийте PGP ключа от файловата система:
rm nginx_signing.key
Добавете ново хранилище
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
Актуализирайте списъка си с пакети и инсталирайте Nginx:
apt update && apt install nginx -y
За да проверим версията на Nginx, можем да използваме следното:
nginx -v
# nginx version: nginx/1.10.1
Ако всичко върви добре, трябва да видите модел като 1.10.xв изхода, когато изпълнявате nginx -vкоманда.
Although HTTP/2 spec doesn’t force browsers to implement HTTP/2 over TLS, all major browsers decided to only implement HTTP/2 over TLS, but not any TLS version, only TLS 1.2 or higher.
Ще създадем самоподписани сертификати за измислен example.comдомейн, за производство ви трябва валиден домейн и да използвате доверен CA.
Генериране на частен ключ:
openssl genrsa -aes128 -out example.com.key 2048
След като изпълните тази команда, ще трябва да въведете парола 2 пъти. Тъй като паролите са досадни, ще го премахнем.
Премахване на парола от частния ключ:
openssl rsa -in example.com.key -out example.com.key
Генериране на заявка за подписване на сертификат (CSR):
openssl req -new -sha256 -key example.com.key -out cert-request.csr
We are creating single-domain certificate so we need to set common-name field equal to
example.comdomain
Създаване на сертификат:
openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
Подредете сертификат и частен ключ:
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
Направете nginx виртуални хост директории
mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
След това стартирайте nano /etc/nginx/nginx.confи намерете директива include /etc/nginx/conf.d/*.conf;. Под тази директива добавете include /etc/nginx/sites-enabled/*;Save ( CTRL+O ) и след това излезте ( CTRL+X ).
##
# Virtual Hosts
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Създайте файл, наречен example.com.confвътре в /etc/nginx/sites-availableдиректорията с тази команда nano /etc/nginx/sites-available/example.com.confи копирайте/поставете следния код:
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;
}
Поздравления, вече имате HTTP/2 активиран уеб сървър. Добавянето на http2параметър към listenдирективата във виртуалния хост на HTTPS ще ви даде HTTP/2 поддръжка.
Създайте символна връзка за /etc/nginx/sites-available/example.com.confс тази команда:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
Тествайте синтаксис на конфигурацията
nginx -t
Рестартирайте Nginx, за да приложите промените си:
systemctl restart nginx
Добавете example.comдомейн към /etc/hostsфайла
echo '127.0.0.1 example.com' >> /etc/hosts
За да тестваме вашия виртуален хост се нуждаем от текстов браузър - elinks.
За да инсталирате elinks, използвайте следната команда:
apt install elinks
За да тествате вашия example.comвиртуален хост:
elinks https://example.com
За да излезете от браузъра elinks, натиснете q на клавиатурата си и след това Enter .
За да видите какви протоколи сървърът рекламира най-лесният начин е да използвате opensslинструментариум.
openssl s_client -connect example.com:443 -nextprotoneg ''
В изхода на тази команда трябва да видите нещо подобно:
CONNECTED(00000003)
Protocols advertised by server: h2, http/1.1
За да видите HTTP/2 в действие, можете да използвате инструменти за разработчици на браузъра. HTTP/2 протоколът се обозначава с h2или HTTP/2.0идентификатори. Отворете мрежовия панел в dev-tools и опреснете страницата си.
Сега трябва да сте наясно колко "лесно" е да активирате HTTP/2 в конфигурацията на Nginx, но това не е цялата част от цялостната картина. Първо трябва да помислите за активиране на TLS/SSL на вашия сървър със силни пакети за шифроване и се уверете, че не използвате шифри от черния списък . Само след като активирате силен TLS/SSL на вашия сървър, можете да започнете да мислите за активиране на HTTP/2 .
Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.
Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.
Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.
Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.
Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…
Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.
Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.
Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.
В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.
Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече