דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. תהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי

תהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי

מתוזמן נעוץ נעול הועבר תכנות
57 פוסטים 7 כותבים 1.8k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • yyyY מנותק
    yyyY מנותק
    yyy
    השיב לקומפיונט ב נערך לאחרונה על ידי
    #25

    @קומפיונט נכון, וגם זה נכנס לתוקף רק אחרי ריסטרט של המערכת.

    תגובה 1 תגובה אחרונה
    1
    • yyyY מנותק
      yyyY מנותק
      yyy
      כתב ב נערך לאחרונה על ידי
      #26

      העתקתי את קבצי ההרצה של הדוטנט אחרי ה-publish לשרת ובינתיים שאני מנסה להריץ את קובץ התוכנית באמצעות הפקודה

      dotnet myProgram
      

      נתקלתי בשתי שגיאות:

      שגיאה 1

      Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
         at System.Environment.FailFast(System.String)
         at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
         at System.Globalization.GlobalizationMode..cctor()
         at System.Globalization.CultureData.CreateCultureWithInvariantData()
         at System.Globalization.CultureData.get_Invariant()
         at System.Globalization.CultureInfo..cctor()
         at System.String.ToLowerInvariant()
         at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetArch()
         at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment..cctor()
         at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
         at Microsoft.DotNet.Cli.MulticoreJitProfilePathCalculator.CalculateProfileRootPath()
         at Microsoft.DotNet.Cli.MulticoreJitActivator.StartCliProfileOptimization()
         at Microsoft.DotNet.Cli.MulticoreJitActivator.TryActivateMulticoreJit()
         at Microsoft.DotNet.Cli.Program.Main(System.String[])
      Aborted (core dumped)
      

      ממה שהבנתי חסר לו איזה מרכיב של תמיכה בגלובליזציה

      הפתרון שהוצע לי היה:

      sudo apt-get install libicu-dev
      

      זה לא עזר.
      פתרון נוסף הוא

       export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true
      

      וזה לכאורה עובד אלא שיתכן שהשגיאה הבאה נובעת מפיתרון מאולתר זה.
      שגיאה 2

      No usable version of libssl was found
      Aborted (core dumped)
      

      הבנתי שהשגיאה נובעת מחוסר בספריית OpenSSL.
      ניסיתי את זה:

      sudo apt-get install libssl-dev
      

      והשגיאה עדיין ממשיכה.
      למישהו יש נסיון עם זה? פספסתי התקנה של משהו?

      תגובה 1 תגובה אחרונה
      0
      • yyyY מנותק
        yyyY מנותק
        yyy
        כתב ב נערך לאחרונה על ידי yyy
        #27

        שאלה נוספת: מה עדיף לאנגולר Apache או Nginx?

        dovidD צדיק תמיםצ 2 תגובות תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          השיב לyyy ב נערך לאחרונה על ידי dovid
          #28

          @yyy אנגולר מאוד אדיש ביחס לשאלה הזאת.
          אבל אני מאוד אוהב nginx ואומרים שהוא גם טוב יותר.

          עריכה: מיקרוסופט ממליצה על nginx כשרת פרוקסי עבור asp.net.

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          yyyY תגובה 1 תגובה אחרונה
          2
          • צדיק תמיםצ מנותק
            צדיק תמיםצ מנותק
            צדיק תמים
            השיב לyyy ב נערך לאחרונה על ידי צדיק תמים
            #29

            @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

            שאלה נוספת: מה עדיף לאנגולר Apache או Nginx?

            אנגולר אחרי build זה בעצם קבצים סטטיים (בעיקר טקסט, אולי גם כמה תמונות),
            אני ממליץ על Caddy בגלל הקונפיגורציה שלו שהיא קלה ופשוטה בצורה מדהימה + נותן HTTPS אוטומטי באופן מובנה,
            הפרומיל ביצועים שאולי תקבל יותר בnginx הוא לא משהו שרלוונטי לסדרי גודל שלך, וגם לא בטוח שהוא בכלל קיים.

            Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
            טיפים

            yyyY תגובה 1 תגובה אחרונה
            3
            • yyyY מנותק
              yyyY מנותק
              yyy
              השיב לdovid ב נערך לאחרונה על ידי
              #30

              @dovid כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

              עריכה: מיקרוסופט ממליצה על nginx כשרת פרוקסי עבור asp.net.

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

              dovidD תגובה 1 תגובה אחרונה
              0
              • yyyY מנותק
                yyyY מנותק
                yyy
                השיב לצדיק תמים ב נערך לאחרונה על ידי
                #31

                @צדיק-תמים כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                שאלה נוספת: מה עדיף לאנגולר Apache או Nginx?

                אנגולר אחרי build זה בעצם קבצים סטטיים (בעיקר טקסט, אולי גם כמה תמונות),
                אני ממליץ על Caddy בגלל הקונפיגורציה שלו שהיא קלה ופשוטה בצורה מדהימה + נותן HTTPS אוטומטי באופן מובנה,
                הפרומיל ביצועים שאולי תקבל יותר בnginx הוא לא משהו שרלוונטי לסדרי גודל שלך, וגם לא בטוח שהוא בכלל קיים.

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

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לyyy ב נערך לאחרונה על ידי
                  #32

                  @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

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

                  אתה שאלת אם apach או nginx.
                  בהקשר הזה (של תוכנה שרצה בעצמה כמו asp.ney או nodejs) הם מכונים שניהם פרוקסי הפוך.
                  עזוב את המינוח, סה"כ עניתי על שאלתך.

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  1
                  • yyyY מנותק
                    yyyY מנותק
                    yyy
                    כתב ב נערך לאחרונה על ידי
                    #33

                    חזרתי לאחר הפסקת מה.

                    האנגולר עובד הדוטנט רץ. מותקן openSsl.

                    אני מקבל את השגיאה הבאה כשאני מנסה ליצור תקשורת https

                    curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
                    

                    זה קשור לכך שלא מוגדר לי Kestrel ב-AppSetting.json אלא רק iis express?
                    תודה!

                    dovidD תגובה 1 תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לyyy ב נערך לאחרונה על ידי
                      #34

                      @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                      אני מנסה ליצור תקשורת https

                      המשפט הזה מעורפל, מי מנסה ומאיפה לאיפה?
                      וגם, הלכת בסוף על nginx?

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      תגובה 1 תגובה אחרונה
                      0
                      • yyyY מנותק
                        yyyY מנותק
                        yyy
                        כתב ב נערך לאחרונה על ידי
                        #35

                        אוקי אז הנה תקציר.
                        התקנתי nginx + קונפיגורציה והאנגולר עולה בלי צד שרת כמובן.
                        לאחר התקשקשות עם תאימות לגרסאות מיושנות של דוטנט, הגעתי לתובנה שעדיף פשוט לעבוד על גרסה שהיא "out of the box" (יש תרגום מקובל לעברית?).
                        העברתי את הפרוייקט לדוטנט 7 והפרוייקט רץ. בשביל הטסט יצרתי שני קונטרולרים, אחד מחזיר מספר מדוטנט עצמו ואחד מחזיר מה-DB.
                        ב-DB עצמו עוד לא נגעתי ואני מנסה לראות קודם שהתקשורת עם הדוטנט עובדת טוב.

                        מה שקורה שכשאני מנסה לגשת לקונטרולר באמצעות tls/ssl (במילים אחרות https) מקבל את השגיאה הנ"ל.
                        דוגמא

                        //with http
                        ubuntu@vps-c2df8674:~$ curl http://localhost:5000/api/Numbers/GetNumbersFromDotnet
                        1 2 3 4 5 from dotnet
                        //with https
                        ubuntu@vps-c2df8674:~$ curl https://localhost:5000/api/Numbers/GetNumbersFromDotnet
                        curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
                        //wrong
                        ubuntu@vps-c2df8674:~$ curl --tlsv1 https://localhost:5000/api/Numbers/GetNumbersFromDotnet
                        curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
                        
                        

                        שאלה נוספת:
                        האם curl הוא הכלי המקובל לנסיונות שכאלו (אין UI כמובן)?

                        תודה רבה.

                        yossizY dovidD 3 תגובות תגובה אחרונה
                        0
                        • yossizY מנותק
                          yossizY מנותק
                          yossiz
                          השיב לyyy ב נערך לאחרונה על ידי yossiz
                          #36

                          @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                          שאלה נוספת:
                          האם curl הוא הכלי המקובל לנסיונות שכאלו (אין UI כמובן)?

                          כן, מקובל לגמרי.
                          אם אתה רוצה UI אז postman וחבריו (postman היא תוכנה כבדה, יש חלופות קלות יותר)

                          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                          תגובה 1 תגובה אחרונה
                          1
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לyyy ב נערך לאחרונה על ידי
                            #37

                            @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                            מה שקורה שכשאני מנסה לגשת לקונטרולר באמצעות tls/ssl (במילים אחרות https) מקבל את השגיאה הנ"ל.

                            לפי המבואר פה זו השגיאה שמקבלים כאשר מנסים לגשת עם פרוטוקול TLS לשרת שמדבר HTTP פשוט
                            כדאי שתעתיק לפה את קונפיגרצית ה-nginx שלך

                            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                            yyyY תגובה 1 תגובה אחרונה
                            3
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לyyy ב נערך לאחרונה על ידי
                              #38

                              @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                              שכשאני מנסה לגשת לקונטרולר באמצעות tls/ssl

                              למה שיעבוד? ssl זה לא משהו שמגיע "כי למה לא".
                              תחבר את הnginx לasp כפי המדריך של מיקרוסופט,
                              את שכבת הSSL תוסיף בהמשך, מה בוער?
                              (יש לי חשד שבאנגולר אתה פונה לlocalhost:5000. זה טעות נפוצה אצל מפתחי אנגולר שהם לא מודעים כלל ליום שאחרי הפיתוח.
                              זה כמובן לא יעבוד, הרי הlocalhost לא יילך איתך למחשבי הגולשים.
                              מה שצריך לעשות תמיד זה או לפנות באנגולר לאותו דומיין (ע"י כתובת יחסית שמתחילה בלוכסן) או לדומיין אחר גם בעת הפיתוח.
                              איך זה יעבוד? הרי בזמן הפיתוח אתה עובד מול localhost? בשביל זה מגדירים בהגדרות הserve פרוקסי שאומר שכל כתובת שמתחילה בapi או כל כלל אחר, אנא נתב אותה נכון לשעת הפיתוח לlocalhost:5000).

                              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                              בכל נושא אפשר ליצור קשר dovid@tchumim.com

                              yyyY dovidD 2 תגובות תגובה אחרונה
                              1
                              • yyyY מנותק
                                yyyY מנותק
                                yyy
                                השיב לyossiz ב נערך לאחרונה על ידי yyy
                                #39

                                @yossiz
                                לא ידעתי ש-nginx מטפל גם בשרת, הכוונתי אותו רק לאנגולר.
                                הנה:

                                ubuntu@vps-c2df8674:~$ cat /etc/nginx/sites-enabled/default
                                 server {
                                       listen 80;
                                       server_name 62.88.198.72;
                                
                                       root /var/www/html;
                                       index index.html;
                                
                                       location / {
                                           try_files $uri $uri/ /index.html;
                                       }
                                   }
                                

                                @yossiz כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                                לשרת שמדבר HTTP פשוט

                                מי הוא זה ואיזה הוא? אני לא התקנתי כלום בהקשר זה ברמת השרת.

                                yyyY תגובה 1 תגובה אחרונה
                                0
                                • yyyY מנותק
                                  yyyY מנותק
                                  yyy
                                  השיב לdovid ב נערך לאחרונה על ידי
                                  #40

                                  @dovid כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                                  למה שיעבוד? ssl זה לא משהו שמגיע "כי למה לא".

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

                                  תחבר את הnginx לasp כפי המדריך של מיקרוסופט,
                                  את שכבת הSSL תוסיף בהמשך, מה בוער?

                                  אם אני לא אתעסק עם ה-ssl מה העניין לחבר את ה-Nginx? כמו שהראתי יש לי תקשורת לא ssl-ית.

                                  @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                                  (יש לי חשד שבאנגולר אתה פונה לlocalhost:5000. זה טעות נפוצה אצל מפתחי אנגולר שהם לא מודעים כלל ליום שאחרי הפיתוח.
                                  זה כמובן לא יעבוד, הרי הlocalhost לא יילך איתך למחשבי הגולשים.
                                  מה שצריך לעשות תמיד זה או לפנות באנגולר לאותו דומיין (ע"י כתובת יחסית שמתחילה בלוכסן) או לדומיין אחר גם בעת הפיתוח.
                                  איך זה יעבוד? הרי בזמן הפיתוח אתה עובד מול localhost? בשביל זה מגדירים בהגדרות הserve פרוקסי שאומר שכל כתובת שמתחילה בapi או כל כלל אחר, אנא נתב אותה נכון לשעת הפיתוח לlocalhost:5000).

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

                                  תגובה 1 תגובה אחרונה
                                  0
                                  • yyyY מנותק
                                    yyyY מנותק
                                    yyy
                                    השיב לyyy ב נערך לאחרונה על ידי yyy
                                    #41

                                    @yyy כתב בתהליך העלאת מערכת fullstack מה-localhost לעולם האמיתי:

                                    מי הוא זה ואיזה הוא? אני לא התקנתי כלום בהקשר זה ברמת השרת.

                                    Kestrel.

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • yyyY מנותק
                                      yyyY מנותק
                                      yyy
                                      כתב ב נערך לאחרונה על ידי yyy
                                      #42

                                      מתעד את נסיונותי להפעיל SSL תקין באמצעות Kestrel. (אולי יעזור למישהו בעתיד)
                                      הוספתי ב-launchSetting.json את הרשומה הבאה:

                                      "sslProd": {
                                           "commandName": "Project",
                                           "dotnetRunMessages": true,
                                           "launchBrowser": false,
                                           "launchUrl": "swagger",
                                           "applicationUrl": "https://localhost:443",
                                           "environmentVariables": {
                                             "ASPNETCORE_ENVIRONMENT": "Production"
                                           }
                                         }
                                      

                                      dotnet publish +winsp
                                      ועדיין כשאני מנסה לפנות באמצעות פורט 443 יש שגיאה:

                                      ubuntu@vps-c2df8674:~$  curl -I  http://localhost:443/api/Numbers/GetNumbersFromDotnet
                                      curl: (7) Failed to connect to localhost port 443: Connection refused
                                      

                                      ניסיתי עוד כמה פתרונות כמו זה
                                      וכן שינוי משתנה הסביבה ASPNETCORE_ENVIRONMENT ל-sslProd או production, ושום דבר לא עוזר. ה-ssl מסרב לתקשר. אני מתיאש לע"ע מהכיוון הזה ואנסה לחבר את ה-nginx בתור רוורס פרוקסי (למדתי מה זה), ואולי הוא ידע להעיר מהתרדמת את תקשורת ה-ssl.

                                      dovidD צדיק תמיםצ 2 תגובות תגובה אחרונה
                                      0
                                      • dovidD מנותק
                                        dovidD מנותק
                                        dovid ניהול
                                        השיב לyyy ב נערך לאחרונה על ידי
                                        #43

                                        @yyy כל ההגדרות שתעשה עד מחר לא ייתנו לך בחיים SSL,
                                        SSL מקבלים על ידי חברה חיצונית שהיא גורם מוסמך והתעודה העליונה שלהן מכובדת ע"י הקליינטים.
                                        ואני לא מבין למה אתה כה מתעקש ללכת בדרכים משלך במקום לעשות בתום מה שמדריכים אותך.
                                        מה דחוף עכשיו SSL? למה אתה לא מגדיר את הNGINX כמו במדריך הרשמי של מקרוסופט?

                                        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                        בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                        תגובה 1 תגובה אחרונה
                                        2
                                        • dovidD מנותק
                                          dovidD מנותק
                                          dovid ניהול
                                          כתב ב נערך לאחרונה על ידי
                                          #44

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

                                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                          yyyY תגובה 1 תגובה אחרונה
                                          2

                                          • 1
                                          • 2
                                          • 3
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום