Ενεργοποιήστε το HTTP/2 στο Nginx στο Ubuntu 16.04

Το 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

Για να εγκαταστήσουμε την τελευταία σταθερή έκδοση του Nginx πρέπει να εκδώσουμε αρκετές εντολές:

  1. Πρέπει να κατεβάσουμε το δημόσιο κλειδί PGP Nginx που χρησιμοποιείται για την υπογραφή πακέτων και αποθετηρίων και να το προσθέσουμε στο μπρελόκ που χρησιμοποιείται από τον διαχειριστή πακέτων για να επαληθεύσουμε την αυθεντικότητα των πακέτων που έχουν ληφθεί από το αποθετήριο.

    wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
    
  2. Διαγράψτε το κλειδί PGP από το σύστημα αρχείων:

    rm nginx_signing.key
    
  3. Προσθήκη νέου αποθετηρίου

    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
    
  4. Ενημερώστε τη λίστα πακέτων σας και εγκαταστήστε το Nginx:

    apt update && apt install nginx -y
    
  5. Για να επαληθεύσουμε την έκδοση Nginx μπορούμε να χρησιμοποιήσουμε τα εξής:

    nginx -v 
    # nginx version: nginx/1.10.1
    

    Εάν όλα πάνε καλά, θα πρέπει να δείτε μοτίβο όπως 1.10.xστην έξοδο κατά την εκτέλεση της nginx -vεντολής.

Αυτουπογεγραμμένο πιστοποιητικό και HTTP/2

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τομέα, για την παραγωγή χρειάζεστε έγκυρο τομέα και να χρησιμοποιήσετε αξιόπιστη ΑΠ.

  1. Δημιουργία ιδιωτικού κλειδιού:

    openssl genrsa -aes128 -out example.com.key 2048
    

    Αφού εκτελέσετε αυτήν την εντολή, θα χρειαστεί να εισαγάγετε τη φράση πρόσβασης 2 φορές. Επειδή οι φράσεις πρόσβασης είναι ενοχλητικές, θα το αφαιρέσουμε.

  2. Αφαιρέστε τη φράση πρόσβασης από το ιδιωτικό κλειδί:

    openssl rsa -in example.com.key -out example.com.key
    
  3. Δημιουργία αιτήματος υπογραφής πιστοποιητικού (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.com domain

  4. Δημιουργία πιστοποιητικού:

    openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
    
  5. Ταξινόμηση πιστοποιητικού και ιδιωτικού κλειδιού:

    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
    
  6. Δημιουργήστε καταλόγους εικονικού κεντρικού υπολογιστή nginx

    mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
    
  7. Μετά τρέξε nano /etc/nginx/nginx.confκαι βρες μια οδηγία include /etc/nginx/conf.d/*.conf;. Κάτω από αυτήν την οδηγία προσθέστε include /etc/nginx/sites-enabled/*;Αποθήκευση ( CTRL+O ) και μετά κλείστε ( CTRL+X ).

    ##
    # Virtual Hosts
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
    
  8. Δημιουργήστε ένα αρχείο που ονομάζεται 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 .

  9. Δημιουργήστε έναν συμβολικό σύνδεσμο για /etc/nginx/sites-available/example.com.confμε αυτήν την εντολή:

    ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
    
  10. Δοκιμή σύνταξης διαμόρφωσης

    nginx -t
    
  11. Επανεκκινήστε το Nginx για να εφαρμόσετε τις αλλαγές σας:

    systemctl restart nginx
    
  12. Προσθήκη example.comτομέα σε /etc/hostsαρχείο

    echo '127.0.0.1    example.com' >> /etc/hosts
    

Για να δοκιμάσουμε τον εικονικό σας κεντρικό υπολογιστή χρειαζόμαστε πρόγραμμα περιήγησης που βασίζεται σε κείμενο - συνδέσμους.

  1. Για να εγκαταστήσετε elinks χρησιμοποιήστε την ακόλουθη εντολή:

    apt install elinks
    
  2. Για να δοκιμάσετε την εκτέλεση του example.comεικονικού κεντρικού υπολογιστή σας:

    elinks https://example.com
    
  3. Για έξοδο από το πρόγραμμα περιήγησης elinks, πατήστε q στο πληκτρολόγιό σας και μετά Enter .

Δοκιμή HTTP/2

Για να δείτε ποια πρωτόκολλα διαφημίζει ο διακομιστής με τον ευκολότερο τρόπο είναι να χρησιμοποιήσετε την opensslεργαλειοθήκη.

    openssl s_client -connect example.com:443 -nextprotoneg ''

Στην έξοδο αυτής της εντολής θα πρέπει να δείτε κάτι σαν αυτό:

    CONNECTED(00000003)
    Protocols advertised by server: h2, http/1.1      

Για να δείτε το HTTP/2 σε δράση, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης. ΗΤΤΡ / 2 πρωτόκολλο υποδεικνύεται είτε με h2ή HTTP/2.0αναγνωριστικά. Ανοίξτε το πλαίσιο δικτύου στα εργαλεία dev-tools και ανανεώστε τη σελίδα σας.

συμπέρασμα

Τώρα θα πρέπει να γνωρίζετε πόσο «εύκολο» είναι να ενεργοποιήσετε το HTTP/2 στη διαμόρφωση Nginx, αλλά αυτό δεν είναι ολόκληρο το μέρος της συνολικής εικόνας. Πρώτα θα πρέπει να σκεφτείτε να ενεργοποιήσετε το TLS/SSL στον διακομιστή σας με ισχυρές σουίτες κρυπτογράφησης και να βεβαιωθείτε ότι δεν χρησιμοποιείτε κρυπτογράφηση στη μαύρη λίστα . Μόνο αφού ενεργοποιήσετε το ισχυρό TLS/SSL στον διακομιστή σας, μπορείτε να αρχίσετε να σκέφτεστε να ενεργοποιήσετε το HTTP/2 .

Αφήστε ένα σχόλιο

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Η Τεχνητή Νοημοσύνη δεν είναι στο μέλλον, είναι εδώ ακριβώς στο παρόν Σε αυτό το blog Διαβάστε πώς οι εφαρμογές Τεχνητής Νοημοσύνης έχουν επηρεάσει διάφορους τομείς.

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Επιθέσεις DDOS: Μια σύντομη επισκόπηση

Είστε επίσης θύμα των επιθέσεων DDOS και έχετε μπερδευτεί σχετικά με τις μεθόδους πρόληψης; Διαβάστε αυτό το άρθρο για να λύσετε τις απορίες σας.

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Έχετε αναρωτηθεί ποτέ πώς κερδίζουν χρήματα οι χάκερ;

Μπορεί να έχετε ακούσει ότι οι χάκερ κερδίζουν πολλά χρήματα, αλλά έχετε αναρωτηθεί ποτέ πώς κερδίζουν τέτοια χρήματα; ας συζητήσουμε.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Επαναστατικές εφευρέσεις από την Google που θα σας φέρουν εύκολη στη ζωή.

Θέλετε να δείτε επαναστατικές εφευρέσεις της Google και πώς αυτές οι εφευρέσεις άλλαξαν τη ζωή κάθε ανθρώπου σήμερα; Στη συνέχεια, διαβάστε στο blog για να δείτε τις εφευρέσεις της Google.

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Friday Essential: Τι συνέβη με τα αυτοκίνητα που κινούνται με AI;

Η ιδέα των αυτοκινούμενων αυτοκινήτων να βγαίνουν στους δρόμους με τη βοήθεια της τεχνητής νοημοσύνης είναι ένα όνειρο που έχουμε εδώ και καιρό. Όμως, παρά τις πολλές υποσχέσεις, δεν φαίνονται πουθενά. Διαβάστε αυτό το blog για να μάθετε περισσότερα…

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Τεχνολογική μοναδικότητα: Ένα μακρινό μέλλον του ανθρώπινου πολιτισμού;

Καθώς η Επιστήμη εξελίσσεται με γρήγορους ρυθμούς, αναλαμβάνοντας πολλές από τις προσπάθειές μας, αυξάνονται και οι κίνδυνοι να υποβάλλουμε τον εαυτό μας σε μια ανεξήγητη Ιδιότητα. Διαβάστε τι σημαίνει η μοναδικότητα για εμάς.

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Λειτουργίες Αρχιτεκτονικών Επιπέδων Αναφοράς Μεγάλων Δεδομένων

Διαβάστε το ιστολόγιο για να μάθετε διαφορετικά επίπεδα στην Αρχιτεκτονική Μεγάλων Δεδομένων και τις λειτουργίες τους με τον απλούστερο τρόπο.

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Εξέλιξη της αποθήκευσης δεδομένων – Infographic

Οι μέθοδοι αποθήκευσης των δεδομένων εξελίσσονται μπορεί να είναι από τη γέννηση των Δεδομένων. Αυτό το ιστολόγιο καλύπτει την εξέλιξη της αποθήκευσης δεδομένων με βάση ένα infographic.

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

6 εκπληκτικά οφέλη από την ύπαρξη έξυπνων οικιακών συσκευών στη ζωή μας

Σε αυτόν τον ψηφιακό κόσμο, οι έξυπνες οικιακές συσκευές έχουν γίνει κρίσιμο μέρος της ζωής. Ακολουθούν μερικά εκπληκτικά οφέλη των έξυπνων οικιακών συσκευών σχετικά με το πώς κάνουν τη ζωή μας να αξίζει και να απλοποιείται.

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Η ενημέρωση του συμπληρώματος macOS Catalina 10.15.4 προκαλεί περισσότερα προβλήματα από την επίλυση

Πρόσφατα, η Apple κυκλοφόρησε το macOS Catalina 10.15.4 μια συμπληρωματική ενημέρωση για την επιδιόρθωση προβλημάτων, αλλά φαίνεται ότι η ενημέρωση προκαλεί περισσότερα προβλήματα που οδηγούν σε bricking των μηχανών mac. Διαβάστε αυτό το άρθρο για να μάθετε περισσότερα