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

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

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

פרוקסי הפוך NGINX

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

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

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

    בכתובת בדפדפן מכניסים XXX.ovh U
    וזה משתנה למה שכתבת?
    כמה שאלות:
    א. הדומיין מפנה לשרת של הNGINX?
    ב. בשרת של הNGINX, הפקודה curl 192.168.182.130 מחזירה תוצאה תקינה?

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

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

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

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

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

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

      בכתובת בדפדפן מכניסים XXX.ovh U
      וזה משתנה למה שכתבת?

      כן

      כמה שאלות:
      א. הדומיין מפנה לשרת של הNGINX?

      הדומיין מפנה לIP של השרת ומגיע לVM שעליו יש את הNGINX הראשון

      ב. בשרת של הNGINX, הפקודה curl 192.168.182.130 מחזירה תוצאה תקינה?

      <!DOCTYPE html>
      <html>
      <head>
      <title>Welcome to nginx!</title>
      <style>
          body {
              width: 35em;
              margin: 0 auto;
              font-family: Tahoma, Verdana, Arial, sans-serif;
          }
      </style>
      </head>
      <body>
      <h1>Welcome to nginx!</h1>
      <p>If you see this page, the nginx web server is successfully installed and
      working. Further configuration is required.</p>
      
      <p>For online documentation and support please refer to
      <a href="http://nginx.org/">nginx.org</a>.<br/>
      Commercial support is available at
      <a href="http://nginx.com/">nginx.com</a>.</p>
      
      <p><em>Thank you for using nginx.</em></p>
      </body>
      </html>
      
      dovidD תגובה 1 תגובה אחרונה
      0
      • dovidD מחובר
        dovidD מחובר
        dovid ניהול
        השיב לA0533057932 ב נערך לאחרונה על ידי
        #8

        @A0533057932
        אין לי תשובה.

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

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

        A0533057932A תגובה 1 תגובה אחרונה
        1
        • 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

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

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

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