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

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

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

פרוקסי הפוך NGINX

מתוזמן נעוץ נעול הועבר רשתות
31 פוסטים 4 כותבים 1.0k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                                      • 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

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

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

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