Score:0

อัปสตรีมพร็อกซีย้อนกลับ NGINX ไม่ได้เชื่อมต่อกับพอร์ตเฉพาะ

ธง co

ฉันพยายามเข้าถึงหนึ่งในเซิร์ฟเวอร์แบ็กเอนด์ แต่ฉันได้รับข้อผิดพลาดนี้:

27#27: *21653 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ในขณะที่ เชื่อมต่อกับอัพสตรีม ลูกค้า: 84.255.55.25 เซิร์ฟเวอร์: premium.maltacraft.net คำขอ: "GET / HTTP/1.1" อัพสตรีม: "http://172.28.0.3:37200/", โฮสต์: "premium.maltacraft.net"

ฉันมี docker-compose stack ดังที่แสดงด้านล่าง (แก้ไขบางบริการเพื่อความง่าย):

บริการ:
  nginx ทางเข้า:
    ภาพ: nginx: ล่าสุด
    เข้าสู่ระบบ:
      ไดรเวอร์: "json-file"
      ตัวเลือก:
        ขนาดสูงสุด: "50m"
        ไฟล์สูงสุด: "10"
    รีสตาร์ท: เว้นแต่จะหยุด
    พอร์ต:
      - "80:80"
      - "443:443"
    ปริมาณ:
      - "./nginx-ingress/nginx.conf:/etc/nginx/nginx.conf:ro"
      - "./nginx-ingress/dhparam.pem:/etc/ssl/dhparam.pem:ro"
      - "./nginx-ingress/sites-available:/etc/nginx/sites-available:ro"
      - "./nginx-ingress/sites-enabled:/etc/nginx/sites-enabled:ro"
      - "./nginx-ingress/webroot:/var/www"
      - "/etc/letsencrypt:/etc/letsencrypt:ro"
    เครือข่าย:
      - มัลติคราฟท์
      - wp_maltacraft

เครือข่าย:
  มัลติคราฟต์:
  wp_maltacraft:

นี่คือไฟล์ nginx.conf ของฉัน (ค่อนข้างพื้นฐาน):

ผู้ใช้ nginx;
worker_processes อัตโนมัติ

error_log /var/log/nginx/error.log ประกาศ;
pid /var/run/nginx.pid;


เหตุการณ์ {
    worker_connections 1024;
}


http {
    รวม /etc/nginx/mime.types;
    แอปพลิเคชัน default_type/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request"'
                      '$สถานะ $body_bytes_sent "$http_referer"'
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log หลัก;

    ส่งไฟล์บน;
    #tcp_nopush บน;

    keepalive_timeout 65;

    #gzip บน;

    รวม /etc/nginx/sites-enabled/*.conf;
}

ตอนนี้ฉันมี 2 ไซต์ที่เชื่อมต่อกับเซิร์ฟเวอร์ Apache ชื่อ Vanilla และ Premium วานิลลาใช้งานได้และคุณสามารถดูได้ที่นี่: https://vanilla.maltacraft.net/

แต่แบบพรีเมียมไม่มีอย่างที่เห็นที่นี่: https://premium.maltacraft.net/

vanilla.maltacraft.net.conf:


วานิลลาต้นน้ำ {
    เซิร์ฟเวอร์มัลติคราฟต์:38200;
}

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ฟัง [::]:443 ssl;
    server_name vanilla.maltacraft.net;
    ปิด server_tokens;
    ssl_certificate /etc/letsencrypt/live/vanilla.maltacraft.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vanilla.maltacraft.net/privkey.pem;

    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POL>

    ssl_protocols TLSv1.2 TLSv1.3;
    เปิด ssl_prefer_server_ciphers;
    ssl_session_cache ในตัว:1000 แชร์:SSL:10m;
    ssl_session_timeout 5 นาที;
    add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 63072000";
    add_header 'X-Frame-Options' 'SAMEORIGIN';
    add_header 'X-XSS-การป้องกัน' '1; โหมด = บล็อก';
    add_header 'X-Content-Type-Options' 'nosniff';
    add_header 'นโยบายผู้อ้างอิง' 'ผู้ไม่อ้างอิง';
    ssl_dhparam /etc/ssl/dhparam.pem;

    ที่ตั้ง / {
        proxy_read_timeout 3600;
        proxy_pass http://วานิลลา;
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header เปิด X-Forwarded-Ssl;
    }
}

premium.maltacraft.net.conf:


พรีเมี่ยมต้นน้ำ {
    เซิร์ฟเวอร์มัลติคราฟต์:37200;
}

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ฟัง [::]:443 ssl;
    server_name premium.maltacraft.net;
    ปิด server_tokens;
    ssl_certificate /etc/letsencrypt/live/premium.maltacraft.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/premium.maltacraft.net/privkey.pem;

    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POL>

    ssl_protocols TLSv1.2 TLSv1.3;
    เปิด ssl_prefer_server_ciphers;
    ssl_session_cache ในตัว:1000 แชร์:SSL:10m;
    ssl_session_timeout 5 นาที;
    add_header การขนส่งที่เข้มงวด - ความปลอดภัย "อายุสูงสุด = 63072000";
    add_header 'X-Frame-Options' 'SAMEORIGIN';
    add_header 'X-XSS-การป้องกัน' '1; โหมด = บล็อก';
    add_header 'X-Content-Type-Options' 'nosniff';
    add_header 'นโยบายผู้อ้างอิง' 'ผู้ไม่อ้างอิง';
    ssl_dhparam /etc/ssl/dhparam.pem;

    ที่ตั้ง / {
        proxy_read_timeout 3600;
        proxy_pass http://พรีเมี่ยม;
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header เปิด X-Forwarded-Ssl;
    }
}

ถ้าฉันเปลี่ยนพอร์ตอัพสตรีมของ Premium one (37200) เป็น Vanilla one (38200) มันจะทำงานได้ดีและแสดงเว็บไซต์สำหรับ Vanilla แต่ฉันต้องการให้แสดงเว็บไซต์พรีเมียม

ทั้งสองเว็บไซต์มีใบรับรอง SSL ที่สร้างขึ้นและใช้งานได้ และมีการสร้างลิงก์ simbolic สำหรับทั้งสองเว็บไซต์ (เนื่องจากทั้งคู่ปรากฏด้วยการกำหนดค่าเดียวกันใน เปิดใช้งานไซต์ โฟลเดอร์)

มีความคิดว่าจะทำอย่างไรเพื่อแก้ไขปัญหานี้ หรืออาจจะแก้ปัญหา

Score:0
ธง co

ปัญหาคือเซิร์ฟเวอร์ส่วนหลังพยายามฟัง localhost (127.0.0.1) แทนที่จะเป็น 0.0.0.0 เปลี่ยนแล้วใช้งานได้เลย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา