Score:0

การเชื่อมต่อถูกปฏิเสธจาก upstream html - NGINX

ธง br
CFD

ฉันมีไฟล์ html ที่ทำงานบนคอนเทนเนอร์นักเทียบท่าที่มี URL นี้: http://localhost:80 ฉันต้องการเปลี่ยนเส้นทางไปยังพอร์ตอื่นเช่น http://localhost:8080 ด้วย NGINX ฉันมีการกำหนดค่าต่อไปนี้:

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

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

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

http {
    รวม mime.types;
    ส่งไฟล์บน;
    เว็บต้นน้ำ {
    เซิร์ฟเวอร์ 127.0.0.1:80;

}

    เซิร์ฟเวอร์ {
    ฟัง 8080;
    ตัวแก้ไข 127.0.0.11;
    ปิดดัชนีอัตโนมัติ
    
    ชื่อเซิร์ฟเวอร์ _;
    ปิด server_tokens;

    ที่ตั้ง / {
        proxy_pass http://เว็บ;
    }
}
}

แต่เมื่อฉันไปที่ http://localhost:8080 ฉันได้รับข้อผิดพลาดเกตเวย์ไม่ถูกต้อง 502 และนี่คือข้อผิดพลาดที่ฉันได้รับจากคอนเทนเนอร์ nginx:

[ข้อผิดพลาด] 22#22: *1 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอ็นต์: 172.17.0.1 เซิร์ฟเวอร์: _ คำขอ: "GET / HTTP/1.1" อัปสตรีม: "http:/ /127.0.0.1:80/", โฮสต์: "localhost:8080"

นี่คือวิธีที่ฉันเริ่มนักเทียบท่า nginx ของฉัน:

นักเทียบท่าเรียกใช้ --name nginx -v c:/Users/ds-nginx-conf-main:/etc/nginx -p 8080:8080 -d nginx

นี่คือไฟล์เขียนนักเทียบท่าของเว็บคอนเทนเนอร์หรือคอนเทนเนอร์ที่น่าตื่นเต้นก่อนหน้านี้:

รุ่น: "3.7"

บริการ:   
    เว็บ:
        สร้าง: ui
        พอร์ต:
          - 80:80
        ขึ้นอยู่กับ:
          - เอพีไอ
    API:
        สร้าง: แอพ
        สิ่งแวดล้อม:
          - พอร์ท=80
        พอร์ต:
          - 8020:80
    
    ทดสอบ:
        สร้าง:        
          บริบท: ./
          ไฟล์นักเทียบท่า: ./test/Dockerfile
Score:1
ธง in

กระบวนการภายในคอนเทนเนอร์นักเทียบท่าจะทำงานภายในเนมสเปซของตนเอง

ทุกคอนเทนเนอร์มีอินเทอร์เฟซลูปแบ็คเสมือนของตัวเอง ซึ่งแยกจากอินเทอร์เฟซลูปแบ็คของโฮสต์

หากคุณต้องการเข้าถึงคอนเทนเนอร์อื่นจากภายในคอนเทนเนอร์ คุณต้องเชื่อมโยงคอนเทนเนอร์เหล่านี้เข้าด้วยกัน

เรียกใช้นักเทียบท่า - เชื่อมโยงคอนเทนเนอร์อื่น ๆ ...

จากนั้นคุณสามารถเข้าถึงคอนเทนเนอร์แรกจากคอนเทนเนอร์ที่สองโดยใช้ชื่อ

ตัวเลือกอื่นคือการสร้างเครือข่ายภายในนักเทียบท่าซึ่งใช้โดยคอนเทนเนอร์ทั้งสอง หรือให้คอนเทนเนอร์ทั้งสองใช้เครือข่ายโฮสต์ (ซึ่งมักจะไม่สนับสนุนเพราะจะเพิ่มพื้นผิวการโจมตีของคอนเทนเนอร์)

CFD avatar
br flag
CFD
ฉันพยายามทำเช่นนั้น แต่ฉันได้รับข้อผิดพลาดนี้: $ docker run --link ds-ai-ocr-main_web_1 --name nginx -v c:/Users/ds-nginx-conf-main:/etc/nginx -p 8080:8080 -d nginx 81c9e792ee939c82e86454252d97dd46b0554fa6b244037fabb842898abd5d36 นักเทียบท่า: การตอบสนองข้อผิดพลาดจาก daemon: ไม่สามารถลิงก์ไปยัง /ds-ai-ocr-main_web_1 เนื่องจากไม่ได้อยู่ในเครือข่ายเริ่มต้น
in flag
ดูเหมือนว่าคอนเทนเนอร์แรกของคุณถูกสร้างขึ้นด้วย docker-compose จากนั้นคุณต้องกำหนดค่าคอนเทนเนอร์แรกใหม่เพื่อใช้เครือข่ายภายนอกที่สามารถแชร์กับคอนเทนเนอร์ที่สองได้
CFD avatar
br flag
CFD
ฉันเพิ่มนักเทียบท่าที่เขียนในคำถาม ฉันพยายามเพิ่มสิ่งนี้ในการเขียนนักเทียบท่า แต่ฉันได้รับข้อผิดพลาด: `networks: ค่าเริ่มต้น: ภายนอก: จริง '

โพสต์คำตอบ

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