דביאן 8 Nginx HTTP2 + ALPN

מאז שגוגל התחילה לאהוב אתרי https, повече се налага масова инсталация на SSL-и където може. Като цяло освен повече тормоз за сървърите имаме и деградация в скоростта. Хубавото е, че HTTP2 התקן משולב בכל שרתי ה- http והדפדפנים הגדולים במשך למעלה משנה וחצי והתמיכה שלו יציבה מספיק. לרוע המזל, stabian של debian אין חבילות התומכות ב- HTTP2 בשרתי ה- http העיקריים. הגרסאות הדרושות לנו כדי ש HTTP2 יעבוד הן כדלקמן:

מבחינתי התערובת גדולה ותלויה באפאצ'י או בנגינקס. טרם שיחקתי בנגן של Apache http2 של debian 8 כמו שלא הייתי חייבת, אבל בתיקים אחוריים הריפו הוא כזה, זה לא יהיה עניין גדול. עבור nginx כבר שיחק אותה כמה פעמים. באופן כללי, השלבים הם כמה ופשוטים יחסית:

  1. אנו מוסיפים את הריפו הרשמי של nginx – ב- debian הגרסה היא 1.6.x 🙄
  2. התקנת openssl מ- backports היא כרגע 1.0.2k – זה מה שאנחנו צריכים ALPN תחזוקה כך שהכל יוכל לעבוד ולהיות מהיר
  3. אנו מתקינים את התסריטים שלנו – הנה הרגע לחלוק אותו אנו נבנה את החבילה שלנו מכיוון שהרשומה שלה מורכבת עם openssl 1.0.1t במקום ש- ALPN לא עובד והדפדפנים לא מגיבים טוב וה- http2 עובד רק אם אתה מכריח אותו
  4. אנו מגדילים את הגרסה כדי לא להחזיק את הצוענים עם החבילות וכשיש גרסה חדשה רק לסנכרון המקורות

נתחיל צעד אחר צעד

הוסף ריפו של nginx

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

הוספת openssl 1.0.2k וספריית dev אחרת נבנה אותו שוב עם 1.0.1t שאינו המטרה שלנו

echo 'deb http://ftp.debian.org/debian jessie-backports main' | tee /etc/apt/sources.list.d/backports.list

apt update && apt install libssl-dev -t jessie-backports

 

כעת נותר להוסיף את הספריות הדרושות להרכבת nginx

apt install devscripts

apt build-dep nginx

mkdir nginx-build

cd nginx-build

apt-get source nginx

אם עבדת נכון אתה חייב להיות מבנה כמו

~/nginx-build # ll
total 1004
drwxr-xr-x 10 root root   4096 Feb 21 18:37 nginx-1.10.3
-rw-r--r--  1 root root 103508 Jan 31 17:59 nginx_1.10.3-1~jessie.debian.tar.xz
-rw-r--r--  1 root root   1495 Jan 31 17:59 nginx_1.10.3-1~jessie.dsc
-rw-r--r--  1 root root 911509 Jan 31 17:59 nginx_1.10.3.orig.tar.gz

Влизате в папта в която е разархивиран сорса на nginx в моят случай е и nginx-1.10.3 изпълнявате команда с която инкрементирате версията, אני אישית מעדיף להוסיף 1 לבנייה הנוכחית

debchange --newversion 1.10.3-1

לאחר הוספת ה- changelog לפי בחירתך, תוכל להמשיך אל ההדרכה בפועל

debuild -us -uc -i -I -b -j6

הסבר קטן על תצורת הפקודה:

-לנו-uc תגיד לתסריט שלא “שלטים” .קבצי dsc ו- .changes. -אני ו -אני לגרום לתסריט להתעלם מקבצי בקרת גרסאות. לייצר רק חבילה בינארית. -j כמו בכמה תהליכים מקבילים להכין 🙂

 

לאחר השלמת התהליך לעיל, עלינו להתקין את החבילות החדשות שלנו. אם כבר מותקנת nginx, כדאי להסיר אותה

apt remove nginx nginx-*

כדאי גם לגבות את תיקיית ה- nginx ב- / וכו '. בעיקרון כאשר משדרגים מ- 1.6.5 ל 1.10.3 לא היו לי דרמות אבל אתה אף פעם לא יודע. החבילות החדשות ממוקמות בתיקיה ברמה העליונה ויש להתקין אותן עם פקודה כגון:

dpkg -i ../*.deb

אם הכל התנהל בצורה חלקה, כל שעליכם לעשות הוא להפעיל את תהליך ה- nginx ולהגדיר את התצורה של http2, שכבר אינו מטרת המאמר הזה..

Leave a Reply

Your email address will not be published. Required fields are marked *

Anti SPAM *