Score:0

จะเพิ่มหลาย ip และเพิ่มโดเมนย่อยใน nginx ได้อย่างไร?

ธง ru

ฉันกำลังติดตาม nginx, uwsgi พร้อมการสอนขวดและนักเทียบท่า ไฟล์กำหนดค่า nginx ของฉันประกอบด้วย:

เซิร์ฟเวอร์ {

ฟัง 5,000;
server_name 19X.X.X.X;

client_header_buffer_size 5M;
large_client_header_buffers 4 5M;
client_max_body_size 75M;

ที่ตั้ง / {
    รวม uwsgi_params;     
    uwsgi_pass กระติกน้ำ:8080;
   }
}

ที่นี่ฉันต้องการเพิ่มที่อยู่ IP เพิ่มเติมเช่น 123.345.67.8 และโดเมนย่อย ทดสอบ mydomain.com. ฉันจะเพิ่มที่นั่นได้อย่างไร

แก้ไข 2:


เซิร์ฟเวอร์ {

ฟัง 1.1.1.1:5000 default_server;
server_name localhost;

client_header_buffer_size 5M;
large_client_header_buffers 4 5M;
client_max_body_size 75M;

ที่ตั้ง / {
    รวม uwsgi_params;     
    uwsgi_pass กระติกน้ำ:8080;
   }
}


เซิร์ฟเวอร์ {

ฟัง 2.2.2.2:5000 default_server;
server_name test.mydomain.com;

client_header_buffer_size 5M;
large_client_header_buffers 4 5M;
client_max_body_size 75M;

ที่ตั้ง / {
    รวม uwsgi_params;     
    uwsgi_pass กระติกน้ำ:8080;
   }
}
Ivan Shatsky avatar
gr flag
คุณสามารถระบุชื่อเซิร์ฟเวอร์จำนวนเท่าใดก็ได้ด้วยคำสั่ง `ชื่อเซิร์ฟเวอร์' อย่างไรก็ตาม การมีเซิร์ฟเวอร์เพียงบล็อกเดียวเช่นนี้ nginx จะใช้มันเพื่อประมวลผลทุกคำขอที่มาถึงพอร์ต TCP 5000 ไม่ว่าจะมาจากที่อยู่ IP ใดหรือค่าส่วนหัว HTTP `Host` คืออะไร ดูหน้าเอกสารทางการของ [วิธีที่ nginx ประมวลผลคำขอ](http://nginx.org/en/docs/http/request_processing.html) หรือ [สิ่งนี้](https://stackoverflow.com/a/60362700/7121513) คำตอบสำหรับรายละเอียดเพิ่มเติม
ru flag
@IvanShatsky ขอบคุณสำหรับการตอบกลับของคุณ โปรดดู EDIT1 ของคำถามของฉัน หากฉันทำเช่นนั้น ฉันจะเข้าถึงด้วย "1.1.1.1:5000" และ "test.mydomain.com" ได้หรือไม่
Ivan Shatsky avatar
gr flag
ฉันคิดว่าคุณไม่ทราบเกี่ยวกับ **เซิร์ฟเวอร์เริ่มต้น**หากเซิร์ฟเวอร์ของคุณฟังที่อยู่ IP ทั้ง `1.1.1.1` และ `2.2.2.2` บล็อกเซิร์ฟเวอร์แรกของคุณจะเซิร์ฟเวอร์ทุกคำขอที่มาถึงพอร์ต 5000 คุณไม่จำเป็นต้องกำหนดบล็อกเซิร์ฟเวอร์ที่สอง คุณจะต้องใช้ก็ต่อเมื่อต้องการแสดงไซต์ต่างๆ ใน ​​`1.1.1.1` และ `2.2.2.2` และการใช้ `test.mydomain.com` ในแถบที่อยู่ของเบราว์เซอร์จะทำให้เบราว์เซอร์ใช้พอร์ต 80/443 ขึ้นอยู่กับรูปแบบ `htttp://` หรือ `https://` คุณจะต้องระบุพอร์ตให้ชัดเจน : `http://test.mydomain.com:5000/...`
ru flag
@IvanShatsky นั่นเป็นแนวคิดที่ชัดเจนเกี่ยวกับเซิร์ฟเวอร์เริ่มต้น ขอบคุณ. แต่ขอชี้แจงประเด็นหนึ่ง ตัวอย่างเช่น ฉันต้องการเพิ่ม 1.1.1.1 IP ซึ่งใช้ได้กับการเข้าถึงเครือข่ายส่วนตัว และต้องการเพิ่ม 2.2.2.2 -> https://test.mydomain.com สำหรับการเข้าถึงแบบสาธารณะ แล้วฉันจะแก้ไขปัญหานี้ได้อย่างไร?
ru flag
โปรดดูการแก้ไข 2 (อัปเดต) มันจะทำงานตอนนี้หรือไม่
Ivan Shatsky avatar
gr flag
จากความเข้าใจของฉัน หากคุณต้องการให้บริการไซต์เดียวกันสำหรับทั้งสองที่อยู่ คุณไม่จำเป็นต้องมีสิ่งอื่นใดนอกจากบล็อกเซิร์ฟเวอร์เดียวที่มีคำสั่ง `listen 5000;` คุณไม่จำเป็นต้องระบุชื่อเซิร์ฟเวอร์หากโดเมน `test.mydomain.com` ของคุณแก้ไขเป็นที่อยู่ของคุณ จะให้บริการคำขอใด ๆ ที่มาถึงพอร์ต TCP 5000 ฉันคิดว่าลิงก์ที่ฉันให้ไว้ก่อนหน้านี้ค่อนข้างอธิบายได้

โพสต์คำตอบ

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