Score:0

Nginx ให้บริการสองบริการจากพอร์ตเดียวกันจากสองไฟล์หรือไม่

ธง cn

ฉันมีไฟล์เซิร์ฟเวอร์ nginx ที่ให้บริการเนื้อหาแบบสแตติก ดูเรียบง่าย เช่น:

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ssl_certificate /etc/letsencrypt/live/this_host/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/this_host/privkey.pem;
    server_name static_content;

    # ไม่มีการหมุนเวียนคีย์การเข้ารหัสตั๋วเซสชันอย่างเหมาะสม
    # ปิดการใช้งานตั๋วเซสชันทั้งหมด
    ปิด ssl_session_tickets;

    # เนื่องจากอุปกรณ์ไคลเอนต์ที่คาดหวังนั้นค่อนข้างทันสมัย ​​จึงไม่มีความจำเป็น
    # รองรับโปรโตคอลที่ไม่ปลอดภัย
    ssl_protocols TLSv1.3;
    ปิด ssl_prefer_server_ciphers;

    ตำแหน่ง /ไบนารี/ {
        auth_basic "การป้องกันขั้นต่ำ";
        auth_basic_user_file /etc/nginx/auth/.htpasswd;
        ราก /var/www/static/;
    }

    สถานที่ = /apple-app-site-association {
        นามแฝง /var/www/static/apple-app-site-association/apple-app-site-association;
        ประเภท { } default_type "content-type: application/json";
    }
}

ฉันใช้สิ่งนี้ซ้ำบนเซิร์ฟเวอร์ที่ใช้งานจริงและเซิร์ฟเวอร์ชั่วคราว บนเซิร์ฟเวอร์ staging ฉันต้องการแสดง API ข้างหน้าด้วย ถ้าฉันเพิ่งเพิ่มสถานที่อื่นใน:

ตำแหน่ง ^~ /my_cool_api/v1/ {
    proxy_pass http://localhost:4000/my_cool_api/v1/;
}

แต่ฉันมีไฟล์เซิร์ฟเวอร์ที่แตกต่างกันสำหรับการเสิร์ฟที่แตกต่างกัน และมันก็มีชื่อไม่ดีว่า "static_content" ณ จุดนั้นเช่นกัน ฉันต้องการทำให้เป็นแบบแยกส่วนมากขึ้น ดังนั้นฉันจึงลองปล่อยไฟล์แรกไว้ตามลำพัง และเพิ่มไฟล์ที่สองไปยังเซิร์ฟเวอร์ชั่วคราว:

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ssl_certificate /etc/letsencrypt/live/this_host/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/this_host/privkey.pem;
    ชื่อเซิร์ฟเวอร์ my_cool_api;

    # ไม่มีการหมุนเวียนคีย์การเข้ารหัสตั๋วเซสชันอย่างเหมาะสม
    # ปิดการใช้งานตั๋วเซสชันทั้งหมด
    ปิด ssl_session_tickets;

    # เนื่องจากอุปกรณ์ไคลเอนต์ที่คาดหวังนั้นค่อนข้างทันสมัย ​​จึงไม่มีความจำเป็น
    # รองรับโปรโตคอลที่ไม่ปลอดภัย
    ssl_protocols TLSv1.3;
    ปิด ssl_prefer_server_ciphers;

    ที่ตั้ง ^~ /accumulus_twig/v1/ {
        proxy_pass http://localhost:4000/accumulus_twig/v1/;
    }
}

สิ่งนี้ไม่ได้ผล หลังจากที่ฉันเชื่อมโยงทั้งสองในไซต์ที่เปิดใช้งาน ฉันเพิ่งให้ API ทำงานในกรณีนั้น error.log แสดงว่าไม่พบไฟล์ (คงที่) ที่ /usr/share/nginx/html/binaries/. ไม่มีวิธีแบบแยกส่วนที่จะมีข้อกำหนดเซิร์ฟเวอร์เดียวที่ 443 พร้อมใบรับรองที่เหมาะสมทั้งหมด ฯลฯ แต่กำหนดตำแหน่ง / การจับคู่ที่แตกต่างกันในไฟล์ต่างๆ

Score:0
ธง cn

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

เซิร์ฟเวอร์ {
    ฟัง 443 ssl;
    ssl_certificate /etc/letsencrypt/live/this_host/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/this_host/privkey.pem;
    ชื่อเซิร์ฟเวอร์ https;

    # ไม่มีการหมุนเวียนคีย์การเข้ารหัสตั๋วเซสชันอย่างเหมาะสม
    # ปิดการใช้งานตั๋วเซสชันทั้งหมด
    ปิด ssl_session_tickets;

    # เนื่องจากอุปกรณ์ไคลเอนต์ที่คาดหวังนั้นค่อนข้างทันสมัย ​​จึงไม่มีความจำเป็น
    # รองรับโปรโตคอลที่ไม่ปลอดภัย
    ssl_protocols TLSv1.3;
    ปิด ssl_prefer_server_ciphers;

    รวม /etc/nginx/includes/*.location;
}

จากนั้นสามารถเพิ่มไฟล์เอกสารหนึ่งไฟล์ต่อหนึ่งไฟล์ได้

โพสต์คำตอบ

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