Kan AI vechten met toenemend aantal ransomware-aanvallen?
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
Brotli (br) is een nieuw open source compressiealgoritme, ontwikkeld door Google als alternatief voor Gzip, Zopfli en Deflate. Het is formeel gedefinieerd in de Internet Engineering Task Force (IETF) als RFC 7932 . Uit de casestudy van Google over Brotli is gebleken dat compressieverhoudingen tot 26% kleiner zijn dan de huidige methoden, met minder CPU-gebruik.
Nginx heeft geen officiële ondersteuning, maar er is een module van derden ontwikkeld door Google genaamd ngx_brotli die we kunnen gebruiken om ondersteuning toe te voegen aan Nginx.
Deze gids laat zien hoe je Brotli-ondersteuning aan Nginx toevoegt op een nieuwe Ubuntu 18.04 LTS Vultr-instantie.
OPMERKING: deze handleiding zal worden gebruikt johndoe
als voorbeeldgebruiker en example.com
als voorbeelddomein. Vervang ze volgens uw namen.
A
/ AAAA
records ingesteldControleer de Ubuntu-versie.
lsb_release -ds
# Ubuntu 18.04 LTS
Maak een nieuw non-root
gebruikersaccount aan met sudo
toegang en schakel ernaar.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
OPMERKING : vervang johndoe
door uw gebruikersnaam .
Update de software van uw besturingssysteem.
sudo apt update && sudo apt upgrade -y
Stel de tijdzone in.
sudo dpkg-reconfigure tzdata
Installeer de vereiste build-tools en -pakketten.
sudo apt install -y build-essential git apt-transport-https socat
Brotli vereist dat u HTTPS instelt en gebruikt. In dit deel krijgen we een vertrouwd certificaat van Let's Encrypt.
Download en installeer Acme.sh.
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~
source ~/.bashrc
Controleer de versie.
acme.sh --version
# v2.8.0
Verkrijgen van RSA- en ECDSA-certificaten voor example.com
.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --accountemail [email protected] --ocsp-must-staple --keylength ec-256
Na het uitvoeren van de bovenstaande opdrachten bevinden uw certificaten en sleutels zich op de volgende locaties:
/etc/letsencrypt/example.com
/etc/letsencrypt/example.com_ecc
Download en installeer de nieuwste hoofdlijn Nginx van de officiële Nginx-repo.
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \ndeb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -sc` nginx \n" >> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Controleer de versie.
sudo nginx -v
# nginx version: nginx/1.15.2
Schakel Nginx in en start het.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Na het installeren van Nginx moeten we de Brotli-module ( ngx_brotli
) bouwen als een dynamische Nginx-module. Vanaf Nginx versie 1.11.5 is het mogelijk om individuele dynamische modules te compileren zonder de volledige Nginx-software te compileren. In de volgende paar stappen zullen we de Brotli-module dynamisch bouwen zonder de volledige Nginx te compileren.
Download de nieuwste versie van de belangrijkste Nginx-broncode en pak deze uit.
wget https://nginx.org/download/nginx-1.15.2.tar.gz && tar zxvf nginx-1.15.2.tar.gz
OPMERKING : het is erg belangrijk dat versienummers van het Nginx-pakket en de Nginx-broncode overeenkomen. Als u Nginx 1.15.2 vanuit de officiële Nginx-repository hebt geïnstalleerd, moet u in dit geval dezelfde versie van de broncode , 1.15.2, downloaden .
Verwijderen nginx-1.15.2.tar.gz
.
rm nginx-1.15.2.tar.gz
Kloon ngx_brotli
van GitHub.
git clone https://github.com/eustas/ngx_brotli.git
cd ngx_brotli && git submodule update --init && cd ~
Navigeer naar de Nginx-broncodemap.
cd ~/nginx-1.15.2
Download vereiste bibliotheken.
sudo apt install -y libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
Compileren ngx_brotli
als een dynamische module en kopieer deze naar de standaard directory voor Nginx modules /etc/nginx/modules
.
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
sudo cp objs/*.so /etc/nginx/modules
Maak een lijst van bestanden in /etc/nginx/modules
en u zult zien ngx_http_brotli_filter_module.so
en ngx_http_brotli_static_module.so
.
ls /etc/nginx/modules
Stel machtigingen in op 644
voor alle .so
bestanden.
sudo chmod 644 /etc/nginx/modules/*.so
We zijn klaar om Brotli-ondersteuning in Nginx te configureren.
Voer sudo vim /etc/nginx/nginx.conf
de volgende twee richtlijnen boven aan het bestand uit en voeg ze toe om nieuwe Brotli-modules te laden.
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
Test de configuratie.
sudo nginx -t
Maak een documenthoofdmap aan example.com
en maak er index.html
wat inhoud in.
sudo mkdir -p /var/www/example.com
sudo -s
echo "Hello from example.com" >> /var/www/example.com/index.html
exit
Maak een virtuele host voor example.com
.
sudo vim /etc/nginx/conf.d/example.com.conf
Vul het in met de volgende configuratie.
server {
listen 80;
server_name example.com; # Replace with your domain name
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com; # Replace with your domain name
root /var/www/example.com; # Replace with your document root
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;
brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
}
Test de configuratie.
sudo nginx -t
Herlaad Nginx.
sudo systemctl reload nginx.service
Bezoek uw site in uw webbrowser en open het netwerktabblad met ontwikkeltools. U zult zien Content-Encoding: br
in de antwoordkoppen. Dat is de indicator dat Brotli-compressie werkt.
U heeft Brotli-compressie op uw webserver ingeschakeld.
Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek
ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.
WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+
Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.
Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie
13 Commerciële data-extractietools voor big data
Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true
Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.
Een inzicht in 26 Big Data-analysetechnieken: deel 1
AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.