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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. רשתות
  3. פרוקסי הפוך NGINX

פרוקסי הפוך NGINX

מתוזמן נעוץ נעול הועבר רשתות
31 פוסטים 4 כותבים 1.0k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • A0533057932A מנותק
    A0533057932A מנותק
    A0533057932
    השיב לdovid ב נערך לאחרונה על ידי
    #9

    @dovid אני כרגע התייאשתי מלהבין מה הולך
    רק נשאר לי לחשוב
    אולי צריך להגדיר הגדרות מיוחדות בNGINX של שרת B?
    כלומר יכול להיות ששם לא שמים בלוק רגיל אלא בלוק מיוחד שמקבל פרוקסי הפוך וממיר אותו לקריאה רגילה?

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

      @A0533057932 כתב בפרוקסי הפוך NGINX:

      אולי צריך להגדיר הגדרות מיוחדות בNGINX של שרת B?

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

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

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

      תגובה 1 תגובה אחרונה
      2
      • ליבלל מנותק
        ליבלל מנותק
        ליבל
        השיב לA0533057932 ב נערך לאחרונה על ידי ליבל
        #11

        @A0533057932 כתב בפרוקסי הפוך NGINX:

        מה שקורה זה שהURL משתנה לדבר הבא
        http://XXX.ovh/192.168.182.130 ולא באמת פונה לשרת B

        אולי זה קורה בגלל ההדרים?
        ניסית להגדיר כך?

        server {
            listen 80;
         
            server_name XXX.ovh;
         
            location / {
                proxy_pass http://192.168.182.130;
            }
        }
        
        A0533057932A 2 תגובות תגובה אחרונה
        0
        • A0533057932A מנותק
          A0533057932A מנותק
          A0533057932
          השיב לליבל ב נערך לאחרונה על ידי
          #12

          @ליבל אותה תוצאה

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

            @A0533057932
            מה הפלט של

            curl -I XXX.ovh
            

            וגם הפלט של הרצת פקודה הבאה על השרת (של ה-nginx הראשון):

            curl -I 192.168.182.130
            

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

            A0533057932A תגובה 1 תגובה אחרונה
            2
            • A0533057932A מנותק
              A0533057932A מנותק
              A0533057932
              השיב לליבל ב נערך לאחרונה על ידי A0533057932
              #14

              @ליבל כתב בפרוקסי הפוך NGINX:

              @A0533057932 כתב בפרוקסי הפוך NGINX:

              מה שקורה זה שהURL משתנה לדבר הבא
              http://XXX.ovh/192.168.182.130 ולא באמת פונה לשרת B

              אולי זה קורה בגלל ההדרים?
              ניסית להגדיר כך?

              server {
                  listen 80;
               
                  server_name XXX.ovh;
               
                  location / {
                      proxy_pass http://192.168.182.130;
                  }
              }
              

              כעת איפסתי את כל הגדרות הNGINX ובדקתי שוב
              הפלט הזה מגיע למכונה השניה
              אני בודק האם הוא גם יכול להפעיל בפועל דברים עליה
              מעדכן

              הדומיין עצמו מגיע
              תת הדומיין לא מגיע או ליתר דיוק לא עוהר לתיקיה שהוא אמור ללכת אליה

              תגובה 1 תגובה אחרונה
              0
              • A0533057932A מנותק
                A0533057932A מנותק
                A0533057932
                השיב לyossiz ב נערך לאחרונה על ידי
                #15

                @yossiz כתב בפרוקסי הפוך NGINX:

                curl -I XXX.ovh

                HTTP/1.1 200 OK
                Server: nginx
                Date: Fri, 17 Feb 2023 11:05:19 GMT
                Content-Type: text/html
                Content-Length: 612
                Connection: keep-alive
                Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
                ETag: "5e9efe7d-264"
                Accept-Ranges: bytes
                X-Frame-Options: sameorigin
                X-Content-Type-Options: nosniff
                X-XSS-Protection: 1; mode=block
                X-Download-Options: noopen
                X-Permitted-Cross-Domain-Policies: none
                Content-Security-Policy: default-src https: data: 'unsafe-inline' 'unsafe-eval'
                Referrer-Policy: strict-origin

                curl -I 192.168.182.130

                HTTP/1.1 200 OK
                Server: nginx/1.18.0 (Ubuntu)
                Date: Fri, 17 Feb 2023 11:05:46 GMT
                Content-Type: text/html
                Content-Length: 612
                Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
                Connection: keep-alive
                ETag: "5e9efe7d-264"
                Accept-Ranges: bytes

                תגובה 1 תגובה אחרונה
                0
                • A0533057932A מנותק
                  A0533057932A מנותק
                  A0533057932
                  כתב ב נערך לאחרונה על ידי
                  #16
                  פוסט זה נמחק!
                  תגובה 1 תגובה אחרונה
                  0
                  • A0533057932A מנותק
                    A0533057932A מנותק
                    A0533057932
                    כתב ב נערך לאחרונה על ידי A0533057932
                    #17

                    אני רואה שהתשובה של @ליבל

                    server {
                        listen 80;
                     
                        server_name XXX.ovh;
                     
                        location / {
                            proxy_pass http://192.168.182.130;
                        }
                    }
                    

                    עובדת כלומר הדומיין מגיע למכונה השניה ומעלה את הדף של נגינקס
                    רק החיסרון הוא שתת דומיין לא עובר לו
                    כלומר במעבר נמחק התת דומיין ולא מגיע בכלל למכונה השניה כך שהיא לא יודעת שאני פונה באמצעות תת דומיין
                    מעלה פלט של מה שביקש @yossiz (אני יודע שכתע זה IP פנימי אחר)

                    ubuntu@mail:~$ curl -I 192.168.182.131
                    HTTP/1.1 200 OK
                    Server: nginx/1.18.0 (Ubuntu)
                    Date: Fri, 17 Feb 2023 11:25:22 GMT
                    Content-Type: text/html
                    Content-Length: 612
                    Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
                    Connection: keep-alive
                    ETag: "5e9efe7d-264"
                    Accept-Ranges: bytes
                    
                    ubuntu@mail:~$ curl -I pma.XXX.ovh
                    HTTP/1.1 200 OK
                    Server: nginx
                    Date: Fri, 17 Feb 2023 11:25:28 GMT
                    Content-Type: text/html
                    Content-Length: 612
                    Connection: keep-alive
                    Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
                    ETag: "5e9efe7d-264"
                    Accept-Ranges: bytes
                    X-Frame-Options: sameorigin
                    X-Content-Type-Options: nosniff
                    X-XSS-Protection: 1; mode=block
                    X-Download-Options: noopen
                    X-Permitted-Cross-Domain-Policies: none
                    Content-Security-Policy: default-src https: data: 'unsafe-inline' 'unsafe-eval'
                    Referrer-Policy: strict-origin
                    
                    ubuntu@mail:~$ curl -I XXX.ovh
                    HTTP/1.1 200 OK
                    Server: nginx
                    Date: Fri, 17 Feb 2023 11:25:34 GMT
                    Content-Type: text/html
                    Content-Length: 612
                    Connection: keep-alive
                    Last-Modified: Tue, 21 Apr 2020 14:09:01 GMT
                    ETag: "5e9efe7d-264"
                    Accept-Ranges: bytes
                    X-Frame-Options: sameorigin
                    X-Content-Type-Options: nosniff
                    X-XSS-Protection: 1; mode=block
                    X-Download-Options: noopen
                    X-Permitted-Cross-Domain-Policies: none
                    Content-Security-Policy: default-src https: data: 'unsafe-inline' 'unsafe-eval'
                    Referrer-Policy: strict-origin
                    
                    ubuntu@mail:~$ 
                    

                    לפי מה שזה נראה הן הדומיין והן התת דומיין מחזירים את אותה התגובה

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

                      @A0533057932 כתב בפרוקסי הפוך NGINX:

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

                      זה באמת בגלל הקוד של @ליבל. הא הסיר את ההעברה של הכותרת Host אז לשרת היעד אין מושג בשם איזה אתר פנו אליו, וזה מפעיל את אתר הdefault שיש בnginx.

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

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

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

                        פתאום אני מבין את הבעיה.
                        שאתה כותב את האייפי לבד בcurl הכל עובד כי הוא מחזיר את הdefault.
                        ואילו כשאתה כותב את ההעברה בפרוקסי המלאה כמו בתחילת הנושא אתה מקבל שגיאה/בעיה כי פשוט הדומיין/הסאב דומיין מוגדרים במחשב היעד באופן לא תקין.

                        אתה יכול להיווכח בזאת בקלות ע"י הרצה של curl עם הhost המתאים:

                        curl 192.168.182.130 -H "Host: xxx.ovh";
                        

                        אתה תראה שזה יחזיר בדיוק את אותה בעיה שזה מחזיר בדפדפן.

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

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

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

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

                          @dovid כתב בפרוקסי הפוך NGINX:

                          אתה תראה שזה יחזיר בדיוק את אותה בעיה שזה מחזיר בדפדפן.

                          לא בדיוק הבנתי, הרי כל דומיין\תת דומייין פונה ל IP, אז השרת הראשון יענה לו (כמובן בהתאם לפורט)
                          עכשיו אם אתה רוצה להפנות בהתאם לתת דומיין אז צריך להגדיר זאת בנפרד, כלומר מה זה קשור למה שכתבת ?

                          A0533057932A dovidD 2 תגובות תגובה אחרונה
                          0
                          • A0533057932A מנותק
                            A0533057932A מנותק
                            A0533057932
                            השיב לליבל ב נערך לאחרונה על ידי A0533057932
                            #21

                            @ליבל תת הדומיין לא עובר לסרבר
                            מבחינת הלוג של סרבר B אין בכלל קריאה לקובץ של תת הדומיין

                            זה הקובץ כרגע בA

                            server {
                                listen 80;
                            
                                server_name XXX.ovh pma.XXX.ovh;
                            
                                location / {
                                    proxy_pass http://192.168.182.131;
                                }
                            }
                            

                            וזה מה שמוגדר במכונה B לדומיין הראשי
                            לדומיין הראשי

                            server {
                              listen 80;
                              listen [::]:80;
                              server_name _;
                              root /usr/share/nginx/html/;
                              index index.php index.html index.htm index.nginx-debian.html;
                            
                              location / {
                                try_files $uri $uri/ /index.php;
                              }
                            
                              location ~ \.php$ {
                                fastcgi_pass unix:/run/php/php8.1-fpm.sock;
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                include fastcgi_params;
                                include snippets/fastcgi-php.conf;
                              }
                            
                             # A long browser cache lifetime can speed up repeat visits to your page
                              location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
                                   access_log        off;
                                   log_not_found     off;
                                   expires           360d;
                              }
                            
                              # disable access to hidden files
                              location ~ /\.ht {
                                  access_log off;
                                  log_not_found off;
                                  deny all;
                              }
                            }
                            

                            וזה לדומיין המשנה

                            server {
                              listen 80;
                              listen [::]:80;
                              server_name pma.XXX.ovh;
                              root /usr/share/phpmyadmin/;
                              index index.php index.html index.htm index.nginx-debian.html;
                            
                              access_log /var/log/nginx/phpmyadmin_access.log;
                              error_log /var/log/nginx/phpmyadmin_error.log;
                            
                              location / {
                                try_files $uri $uri/ /index.php;
                              }
                            
                              location ~ ^/(doc|sql|setup)/ {
                                deny all;
                              }
                            
                              location ~ \.php$ {
                                fastcgi_pass unix:/run/php/php8.1-fpm.sock;
                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                                include fastcgi_params;
                                include snippets/fastcgi-php.conf;
                              }
                            
                              location ~ /\.ht {
                                deny all;
                              }
                            }
                            
                            ליבלל dovidD 2 תגובות תגובה אחרונה
                            0
                            • dovidD מנותק
                              dovidD מנותק
                              dovid ניהול
                              השיב לליבל ב נערך לאחרונה על ידי dovid
                              #22

                              @ליבל כתב בפרוקסי הפוך NGINX:

                              השרת הראשון יענה לו

                              השרת הראשון עונה לו, והוא מוגדר נכון.
                              אז התשובה היא לפנות לשרת השני, ולהעביר את התשובה הזו ללקוח.
                              השרת השני מקבל בקשה עם Host של XXX.ovh ואז הוא עונה שטויות בגלל בעיית הגדרה.
                              אם השרת השני מקבל בקשה בלי הHost (כמו בהגדרות שנתת או כמו בcurl עם אייפי בלי דומיין) אז הוא עונה "לעניין" את הWelcome to nginx! שזה אתר הdefault שמוגדר שמה והוא תקין.

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

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

                              תגובה 1 תגובה אחרונה
                              1
                              • ליבלל מנותק
                                ליבלל מנותק
                                ליבל
                                השיב לA0533057932 ב נערך לאחרונה על ידי ליבל
                                #23

                                @A0533057932 אז תנסה להוסיף את ההדרים (בשרת A) כאן

                                server {
                                    listen 80;
                                    
                                    server_name XXX.ovh pma.XXX.ovh;
                                
                                    location / {
                                        proxy_set_header Host $host;
                                        proxy_set_header X-Real-IP $remote_addr;
                                        proxy_pass http://192.168.182.131;
                                    }
                                }
                                

                                מקור

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

                                  @A0533057932 לא יודע אם היה לך פניות להבין מה שכתבתי,
                                  אבל הפרוקסי מהתחלה עובד מעולה.
                                  הבעיה היא שהnginx של השרת השני (הפנימי) לא מוגדר נכון לדומיין הרלוונטי.
                                  כתבתי לך גם אפשרות לבדוק זאת בלי nginx בכלל ע"י curl מכל מחשב ברשת הפנימית, עם האייפי של היעד ועם התוספת, ככה:

                                  curl 192.168.182.130 -H "Host: xxx.ovh";
                                  

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

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

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

                                  dovidD תגובה 1 תגובה אחרונה
                                  0
                                  • A0533057932A מנותק
                                    A0533057932A מנותק
                                    A0533057932
                                    השיב לליבל ב נערך לאחרונה על ידי
                                    #25

                                    @ליבל כתב בפרוקסי הפוך NGINX:

                                    @A0533057932 אז תנסה להוסיף את ההדרים (בשרת A) כאן

                                    server {
                                        listen 80;
                                        
                                        server_name XXX.ovh pma.XXX.ovh;
                                    
                                        location / {
                                            proxy_set_header Host $host;
                                            proxy_set_header X-Real-IP $remote_addr;
                                            proxy_pass http://192.168.182.131;
                                        }
                                    }
                                    

                                    מקור

                                    כעת זה עובר
                                    אבל לא עולה דף וכל הקונסול מלא בשגיאה הבאה
                                    Provisional headers are shown
                                    נ.ב. השבתתי קאש
                                    f4588201-2b08-4c3e-ad4d-e427aedbe4b8-image.png

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

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

                                      כעת אתה צריך להבין מה הבעיה בדומיין השני.
                                      (את הגדרות הפרוקסי תשחזר למה שהיה בתחילת הנושא, זה היה 100% בסדר).

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

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

                                      A0533057932A תגובה 1 תגובה אחרונה
                                      1
                                      • A0533057932A מנותק
                                        A0533057932A מנותק
                                        A0533057932
                                        השיב לdovid ב נערך לאחרונה על ידי
                                        #27

                                        @dovid כתב בפרוקסי הפוך NGINX:

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

                                        כעת אתה צריך להבין מה הבעיה בדומיין השני.
                                        (את הגדרות הפרוקסי תשחזר למה שהיה בתחילת הנושא, זה היה 100% בסדר).

                                        השבתתי לחלוטין את דיפולט
                                        כל מה שיש כעת זה רק התת דומיין והשגיאה עדין מגיעה

                                        נ.ב. הקובץ תצורה עצמו עובד נהדר על שרת רגיל שפתוח ישירות לרשת

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

                                          @A0533057932 כתב בפרוקסי הפוך NGINX:

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

                                          לא אמור לשנות משהו.

                                          @A0533057932 כתב בפרוקסי הפוך NGINX:

                                          נ.ב. הקובץ תצורה עצמו עובד נהדר על שרת רגיל שפתוח ישירות לרשת

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

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

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

                                          A0533057932A ליבלל 2 תגובות תגובה אחרונה
                                          1

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

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

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