גישה ל-localhost מכל מקום

בימים רבים שמסמנים עבודה מקומית על המחשב שלך, הצלחת להפוך את עיצוב האתר החדש לנוף מושלם. CMS שלך מותאם יפה עם תוכן דוגמא ואתה רוצה לבדוק אותו על מספר מכשירים ניידים וטאבלטים. הלקוח שלך גם רוצה להסתכל – אבל אין לך זמן להעביר הכל לשרת ציבורי כדי לתת להם מבט מהיר.

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

לכל המפתחים העייפים שם בחוץ, אני כאן לספר לכם שהדרך הקלה כבר הגיעה! למעשה, קיימים מספר רב של יישומים ושירותים המסייעים להקל על התהליך הזה על ידי ספק גישה ל-localhost מהרשת. האחדים שאדון בהם במאמר זה הם:

נקודות מפתח

  1. שיפור זרימת עבודה בפיתוח אינטרנט: מפתחי אתרים יכולים לשפר דרכים עיקריות בעבודתם על ידי שימוש בשירותי מנעולים בטוחים לספק גישה לשרתי localhost מהאינטרנט, מה שמאפשר בדיקה קלה על מכשירים שונים ושיתוף עם לקוחות מבלי להפליל פרוץ של פרויקט לשרת ציבורי.

  2. כלים מגוונים לצרכים שונים: מגוון כלים כמו ngrok, PageKite, localtunnel, boringproxy ו-BrowserStack מציעים תכונות מותאמות אישית לצרכים פיתוח שונים, מבspection של תנועה לאירוח על מספר רב של רשתות, מה שמבטיח שלמפתחים יהיה משאב הדרוש לבדיקות פרויקטים והדגמות יעילים.

  3. שיפור בדיקות ונגישות: שירותים אלו משפרים את הפיתוח האינטרנטי על ידי מתן תכונות כמו בדיקת תנועת תעבורה, מתארים מותאמים אישית והגנה בסיסרות, מה שמאפשר סביבת בדיקה מקיפה יותר ונגישות רחבה יותר להצגת פרויקטים ללקוחות או לבדיקה אישית במכשירים רבים.

איך יתכן לגשת ל-localhost מכל מקום?

זה אפשרי דרך שירותי מנהרה בטוחים ברשת! אלו הם שירותים המספקים לך מנהרה מהאינטרנט אל המחשב שלך.

מה שזה אומר הוא שהם מספקים כתובת URL נגישה בפומבי, צופים בקריאות על הכתובת הזו ומעבירים אותן לשרת localhost שלך. כל ההתקנה המסובכת נעשתה עבורך; כל מה שאתה צריך לעשות הוא להתקין אפליקציה ולהצביע על localhost שלך.

A Note About Using Virtual Hosts

בlocalhost שלי, יש לי מארחים וירטואליים מוגדרים. בלי שהכתובת מכל שירות למטה תופיע כ-ServerAlias, השרת שלי היה מסרב לשחק בצורה נחמדה. עברו מספר שעות של בלבול. אם אתה בסטיית כיכר, הוסף ServerAlias ל-httpd.conf שלך, והחלף את כתובת ה-ngrok שאתה רואה למטה בכתובת מהשירות שאתה משתמש:

<VirtualHost *:80>
  DocumentRoot "/Users/patcat/Web"
  ServerName mytestsite.test
  ServerAlias 350c0f8e.ngrok.com
</VirtualHost>

ngrok

ngrok היא יישום עבור Windows, macOS ו-Linux שיוצר מנהרה וגם מאפשר לך לבחון את כל התנועה שעוברת דרך המנהרה ולשחזר את התנועה הזו לבדיקות.

אפשר להשתמש בתכונות הבסיסיות בחינם ואז להירשם כדי לגשת לתכונות מתקדמות יותר. כדי להשתמש בכתובות משנה מותאמות אישית ובתחומים שמורים, תצטרך להירשם לתוכנית בתשלום. אחרת, תוכל להשתמש בשירות, אך יוענק לך כתובת אקראית כגון ה-350c0f8e.ngrok.com בדוגמה לכתובת מארח וירטואלי לעיל.

תכניות ngrok כפי שהן נראות במאי 2021 הן ככה:

יש יתרון מרכזי אחד ל-ngrok והוא שאין לו תלות. אתה מתקין את ngrok ורץ אותו. אין צורך בשום דבר אחר.

כיצד להשתמש ב-ngrok

עבור אל ngrok.com, הורד את הארכיון והוצא אותו לאן שברצונך ש-ngrok יהיה במחשב שלך. להלן הצעדים הבסיסיים, אך אם ברצונך פרטים נוספים, יש לנו מאמר נוסף על "כיצד להשתמש ב-ngrok כדי לשתף את אתר הפיתוח המקומי".

פתח שורת פקודה ועבור אל התיקיה שהוצאת אליה את ngrok. הרץ את הפקודה הבאה כדי ליצור מנהרה ל-localhost שלך בפורט 80:

./ngrok http 80

תראה מסך כזה:

בדוגמה לעיל, יש לנו תנועה אל כתובת ngrok שנוצרה באופן אקראי של http://42e474ef9799.ngrok.com שמועברת ל-localhost שלנו ב-127.0.0.1:80.

פתח את הכתובת האינטרנטית הזו בכל מכשיר עם חיבור לאינטרנט ותוכל לגשת ל-localhost שלך מהרשת!

אחד ההצעות הייחודיות יותר ש-ngrok מספק הוא היכולת לבחון תנועה משנה. כדי לעשות זאת, עבור אל http://localhost:4040/ במחשב שלך. תוכל לגשת ללוח מחוונים המציג בקשות נכנסות. תוכל ללחוץ על כל בקשה משמאל ולראות פרטים בימין לגבי הראשיות ונתונים אחרים. השימוש האהוב עליי בזה הוא לראות נתוני JSON שחוזרים מבקשות. המבנה הבסיסי מאוד של זה כשטוען דף HTML פשוט נראה כך:

אפילו תוכל לשחזר בקשה על ידי לחיצה על כפתור ה-שחזור מימין. זה יכין מחדש בקשה עבורך מעל המנהרה.

תכונות מתקדמות של ngrok

הגנה על סיסמה מאפשרת לך למנוע גישה לחברים אקראיים של הציבור לאתר שלך:

ngrok http -auth="username:password" 80

כתובות משנה מותאמות אישית מיועדות כשאינך רוצה לזכור את הכתובת האינטרנטית המיוצגת באופן אקראי! אם תרשום לתוכנית תשלום של ngrok, תוכל לשמור על כתובת משנה כך שאחרים לא יוכלו לקחת אותה. הבא מאפשר לך לצפות ב-localhost שלך ב-nogophersinmytunnel.ngrok.com:

ngrok http -subdomain nogophersinmytunnel 80

כתובות מותאמות אישית הן עבור מי שמעדיף שלא "ngrok" בכתובת האינטרנטית של הפרויקט המנותח. תוכניות תשלום מאפשרות לך להשתמש בכתובות משלך, במקום שתצטרך להשתמש ב-ngrok.com:

ngrok http -hostname="tunnel.yourdomain.com" 80

אפילו תוכל להניע מנהרה לכתובת IP ברשת המקומית שלך שאחרת לא הייתה נגישה לעולם החיצון:

ngrok http 192.168.0.27:80

או שתוכל ליצור מנהרה עבור שירותים לא HTTP אחרים:

ngrok tcp 22

ישנם מספר דברים אחרים שאפשר לעשות, כמו ריצת מספר מנהרות בבת אחת עד יצירת קובץ תצוגה כדי לשמור את כל ההגדרות הללו לשימוש עתידי.

כדי לקרוא על כל מה שאפשרי, ראה תיעוד ngrok.

PageKite

PageKite היא פרויקט מבוסס Python המתאר עצמו כ"מנהרה דינמית מבוססת הפוך פרוקסי" שעובד ברשתות Windows, macOS, Linux ואף במכשירים Android! היא דומה מאוד ל-ngrok אך התקיימה זמן רב יותר ונראית מאוד בדיקה במהלך הקרב לסט גדול יותר של שימושים. הם אפילו הצליחו להפעיל אותה עם הפרוטוקול של Minecraft כדי לאפשר לאנשים להפעיל שרת Minecraft על המחשב המקומי שלהם.

אפשר להירשם לניסיון חינם למשך חודש ולתקציב של 2.5GB. לאחר מכן יש להם מערכת "שילמו כפי מה שאתם רוצים" (המינימום הוא 4$ דולר לחודש, או חינם אם אתם עובדים על תוכנה פתוחה וחופשית). אך יש לשלם יותר כדי לקבל יותר במקרה זה, כאשר אלו שמשלמים סכומים גדולים יותר מקבלים תקציב גדול יותר, תקופת שירות ארוכה יותר, תתי-כתובות מותאמות אישית וכן הלאה.

PageKite לא נראה שיש לה בודק תנועה כמו ngrok, אך יש לה תכונות די מדהימות כמו מסך אשש בנוי בתוכו שמסגר גישה למטרות מתקפה נפוצות כמו /wp-admin, /xampp, phpMyAdmin ועוד. ניתן לבטל אותו אם אתה מסכים שהם צריכים להיות ציבוריים.

יש להם אפילו שרת ממשמש קדמי בסידני, אוסטרליה, כך שזה יכול לספק מהירות מהירה יותר למפתחים האוסטרליים.

כיצד להשתמש ב-PageKite

היכנס ל-PageKite.net והורד את הגרסה עבור המערכת האפליקציה שלך. עבור משתמשים ב-Windows, עליך לוודא שהתקנתם את Python קודם לכן. עבור macOS ו-Linux, תוכלו להשתמש בפקודת cURL פשוטה כדי להתקין אותו ישר משורת הפקודה שלכם.

לאחר הורדה, הפעל את הפקודה הזו כדי להפעיל מנהל מנהרה לשרת localhost שלך. אתה בוחר תת-כתובת ספציפית שתשתמש בה בכל פעם (במקום ההקצאה האקראית ב-ngrok). בחרתי hurrygetintothefancytunnel כאן:

pagekite.py 80 hurrygetintothefancytunnel.pagekite.me

לאחרונה ב-Mac שלי, היה עליי להפעיל עם python3 בתחילת הפעלה, אז נסה את זה אם הנוסחה לעיל אינה עובדת:

python3 pagekite.py 80 hurrygetintothefancytunnel.pagekite.me

זה ירוץ דרך וירשם אותך לשירות אם אינך רשום כבר. לאחר מכן תהיה localhost פעיל וממוקדת לעולם!

תכונות מתקדמות של PageKite

PageKite מציע תכונות נוספות מרשימות.

דוגמה אחת: אין צורך בשרת אינטרנט. אם אין לך שרת פועל, יש לו שרת אינטרנט מובנה שיכול להפעיל את הקבצים הסטטיים שלך ככה:

pagekite.py /path/to/folder igotthattunnelvision.pagekite.me

כמו ngrok, אפשר להגביל גישה באמצעות סיסמה:

pagekite.py 80 terelekkayatuneli.pagekite.me +password/username=password

או להגביל גישה באמצעות כתובות IP:

pagekite.py 80 arcadefirecamethroughmywindow.pagekite.me +ip/1.2.3.4=ok +ip/4.5.6=ok

כפי שציינו לעיל, אפשר אפילו להפעיל את כל זה מהטלפון שלך. התקנתי שרת אינטרנט Android בשם kWS ואז הפעלתי PageKite כדי לחשוף אותו לאינטרנט:

זה בהחלט אינו משהו שאני אעשה כל יום, אבל זה די מדהים לראות שזה כבר אפשרי רק על טלפון חכם!

כמו ngrok, PageKite יכול לעשות מספר מנהרות בבת אחת, והוא תומך בשימוש בכתובת דומיינית משלך, ותומך בהקמת קובץ תצורה למנהרות שלך. כדי ללמוד עוד על זה, תראה את מדריך ההתחלה המהיר שלהם ואת הדף הוראות השימוש המפורטות שלהם.

localtunnel

localtunnel הוא שירות מנהרה שנבנה במקור ב-Node, אך גם יש לו לקוחות מבוססי Go ו-C#/.NET.

איך להשתמש ב-localtunnel

אפשר להתקין אותו באופן גלובלי במכשיר שלך כמו רוב חבילות npm:

npm install -g localtunnel

כדי להתחיל מנהרה ל-localhost שלך בפורט 80, אתה מריץ את הפקודה הזו:

lt --port 80

זה ירוץ בדיוק כמו ngrok ו-PageKite! זה נותן לך תת-כתובת משהו כמו זו שניתנה לי: https://loud-ladybug-21.loca.lt.

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

תכונות מתקדמות של localtunnel

משלם תת-כתובת מותאם אישית בחינם היא לגמרי אפשרית כאן, כל עוד התת-כתובת לא נלקחה. כדי להשתמש בתת-כתובת מותאם אישית, רק תרוץ אותו עם פרמטר --subdomain:

lt --port 80 --subdomain platypusestunneltoo

אחת התכונות המועילות מאוד שlocaltunnel מספק היא API של Node שמאפשר לך לייצר localtunnels דרך JavaScript לשימוש בבדיקות אוטומטות שלך:

const localtunnel = require('localtunnel');

(async () => {
  const tunnel = await localtunnel({ port: 3000 });

  // כתובת הטונל שלך תופיע ככתובת טונל.url

  tunnel.on('close', () => {
    // עשה משהו ברגע שהטונל נסגר
  });
})();

boringproxy

boringproxy הוא אפשרות חדשה שלגמרי חופשית וקוד פתוח תחת רישיון MIT! ההתמקדות העיקרית שלה נראית כהקשובה להקלה על אנשים לאחסן אתרים עצמיים על מחשביהם. הוא מגיע כקובץ אקסאוזוקטיבי אחד הפועל כשרת ולקוח באותו זמן. יש אקסאוזוקטיבי למספר מערכות Linux ו-Windows. macOS מופיע כ"בלתי בדוק". אני לא הצלחתי לגרום לזה לעבוד על ה-Mac שלי באופן אישי, אבל אם יש לך גישה ל-Linux box או ל-Raspberry Pi, זו יכולה להיות הפתרון עבורך. הוא כולו כתוב ב-Go ופתוח לתורמים.

התכונות שלו בקצרה:

  • 100% חופשי וקוד פתוח תחת רישיון MIT
  • יכול להיות מאוד אחסן עצמי
  • יש לו פרוטוקול ממרכזי
  • תומך בכתובות דומיין/סאב-דומיין מותאמות אישית

כיצד להשתמש ב-boringproxy

הצעדים העיקריים הכי קלים לעקוב אחריהם ב-תיעוד boringproxy, שכן זה שונה עבור מספר פלטפורמות.

בסך הכל, זה כולל:

  • הורדת מופע השרת באמצעות curl (למשל, curl -LO https://github.com/boringproxy/boringproxy/releases/download/v0.6.0/boringproxy-linux-x86_64)
  • chmod את האקספרייזבל שהורד (למשל, chmod +x boringproxy-linux-x86_64)
  • הגדרת קישור ליציאות 80 ו-443 (למשל, sudo setcap cap_net_bind_service=+ep boringproxy-linux-x86_64)
  • הגדרת האקסופרייזבל גם על הלקוח

הסרטון הזה מהיוצר של boringproxy מכסה את האופן הטוב ביותר:

תכונות מתקדמות של boringproxy

הסמכות HTTPS אוטומטיות נמצאות תחת שליטה מיידית עבורך דרך Let’s Encrypt. אין צורך לדאוג לגבי קבלת הסמכות לבדיקות, כפי שזה קורה מעבר לתחום הראשי.

ממשק אינטרנט לניהול הגדרות מוגדר באופן אוטומטי כדי לאפשר לך לנהל משתמשים, תקופות גישה ומנהלים.

אפשר לבנות מנהרות ליישומי אינטרנט בקלות. בונה אתרים עצמיים כמו Etherpad (נראה בסרטון לעיל), נותן להם תתי-פרימיום משלהם, ואז אפשר לגשת אליהם מכל מקום.

BrowserStack

BrowserStack מספק צילומים אוטומטיים ומכונות וירטואליות לבדיקת אתר האינטרנט שלך נגד טווח של מכשירים ודפדפנים. אם הסיבה שאתה רוצה לגשת ל-localhost היא לבדיקות, BrowserStack עשוי לעניין אותך.

אפשר להשתמש בשיטות לעיל לבדיקת אתרים localhost במכונות וירטואליות של BrowserStack, אך יש לה גם רשימת הכותרים לדפדפן עבור Chrome ו-Firefox המאפשרת לך לספק גישה ל-localhost משרתיהם.

עם זאת, הפונקקיות הזו מיועדת רק לשירותים של BrowserStack ואינה נגישה לציבור הרחב. BrowserStack מגיע עם ניסיון חינם, לאחר מכן יקח ממך תשלום חודשי לשימוש בשירות. זה יהיה שימושי עבור מקרים שבהם הסיבה היחידה שאתה מחפש לגשת ל-localhost היא לעשות בדיקת מכשירים.

איך להשתמש ב-BrowserStack

הירשם לניסיון ב-BrowserStack.com. למעשה, יש להם את תהליך הבדיקה המקומית מתועד די טוב באתר שלהם, אז קרא את זה אם אתה מעוניין ללכת בדרך זו.

בסופו של דבר, זה יאפשר לך לבדוק את אתרי localhost שלך במחשבים וירטואליים המופעלים מעל הרשת ככה:

משחק הטובים

לאחר שחקות עם כל האפשרויות הללו, הטובים האישיים שלי חייבים להיות ngrok ו-PageKite.

PageKite נראה כמו הפתרון הרב-תכליתי ביותר עם כמות עצומה של פוטנציאל. זה נפתח והורחב לתאם מגוון שימושים לאורך השנים, מה שהופך אותו ליישום ממש מרשים!

ngrok הוא גם מעולה עבור הפשטותו ומפקח התנועה. יש לו יותר מדי תכונות עבור רוב מפתחי האינטרנט שמחפשים לגשת ל-localhost שלהם מהרשת.

סיכום

אם אתה עובד על מחשב עם חיבור אינטרנט פעיל, אפשר להגדיר עכשיו גישה ל-localhost שלך מכל מקום בפחות מכמה דקות! זה פשוט להתחיל ו, כפי שראית, אין מחסור בפתרונות!

האם השתמשת באף אחת מהשירותים האלה? האם יש לך שירותים אחרים שאתה מעדיף? אשמח לשמוע את דעתך בטוויטר!

 

שאלות נפוצות על גישה ל-localhost מכל מקום

איך לגשת ל-localhost ממחשב אחר?

כדי לגשת ל-localhost מכל מקום, אתה צריך לחשוף את השרת המקומי שלך לאינטרנט באמצעות טכניקות כמו פורוורדינג, ngrok, או פרוקסי רווארד. זה כרוך בהפיכת השרת המקומי שלך לנגיש דרך כתובת IP ציבורית או שם תחום.

What is “localhost”?

"Localhost" מתייחס למכשיר הנוכחי שאתה משתמש. זהו שם ממש שבדרך כלל מתייחס לכתובת הלופבק IP (127.0.0.1) ב-IPv4 או (::1) ב-IPv6. זה נפוץ לגשת לשירותים המתנהלים על אותו מכשיר.

איך לשתף את כתובת localhost עם אדם אחר?

כנראה הפתרון הכי קל הוא להשתמש ngrok. זו כלי שיוצר מנהרות בטוחות מנקודה ציבורית אל שירות פועל מקומית. זה מאפשר לך לחשוף שרת מקומי לאינטרנט ללא תכנון מערכת רשת מורכבת.

Are there security concerns when exposing localhost?

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

What is port forwarding?

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

Can I access localhost through a domain name?

כן, אפשר לקשר שם תחום לשרת המקומי שלך באמצעות שירותי DNS דינמיים או על ידי שינוי קובץ ה-hosts שלך. זה יכול להקל על הזכרון וגישה לשירות המקומי שלך.

Source:
https://www.sitepoint.com/accessing-localhost-from-anywhere/