Điểm:0

Làm cách nào để thêm nhiều ip và thêm tên miền phụ trong nginx?

lá cờ ru

Tôi đã làm theo hướng dẫn nginx, uwsgi với bình & docker. Tệp cấu hình nginx của tôi chứa:

người phục vụ {

nghe 5000;
tên_máy chủ 19X.X.X.X;

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

địa điểm / {
    bao gồm uwsgi_params;     
    uwsgi_pass bình: 8080;
   }
}

Ở đây tôi muốn thêm một địa chỉ IP bổ sung như 123.345.67.8 và một tên miền phụ test.mydomain.com. Làm thế nào tôi có thể thêm vào đó?

CHỈNH SỬA 2:


người phục vụ {

nghe 1.1.1.1:5000 default_server;
máy chủ_tên máy chủ cục bộ;

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

địa điểm / {
    bao gồm uwsgi_params;     
    uwsgi_pass bình: 8080;
   }
}


người phục vụ {

nghe 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;

địa điểm / {
    bao gồm uwsgi_params;     
    uwsgi_pass bình: 8080;
   }
}
Ivan Shatsky avatar
lá cờ gr
Bạn có thể liệt kê bất kỳ số lượng tên máy chủ nào bằng chỉ thị `server_name`. Tuy nhiên, chỉ có một khối máy chủ như thế này, nginx sẽ sử dụng nó để xử lý mọi yêu cầu đến cổng TCP 5000 bất kể nó đến địa chỉ IP nào hoặc giá trị tiêu đề HTTP `Host` là gì. Xem trang tài liệu chính thức [How nginx process a request](http://nginx.org/en/docs/http/request_processing.html) hoặc [this](https://stackoverflow.com/a/60362700/7121513) trả lời để biết thêm chi tiết.
lá cờ ru
@IvanShatsky Cảm ơn bạn đã trả lời. Vui lòng xem EDIT1 của câu hỏi của tôi. Nếu tôi làm như vậy thì tôi có thể truy cập nó bằng "1.1.1.1:5000" cũng như "test.mydomain.com" không?
Ivan Shatsky avatar
lá cờ gr
Tôi nghĩ bạn chưa biết về **máy chủ mặc định**.Nếu máy chủ của bạn lắng nghe trên cả hai địa chỉ IP `1.1.1.1` và `2.2.2.2`, thì khối máy chủ đầu tiên của bạn sẽ phục vụ mọi yêu cầu đến cổng 5000. Bạn không cần xác định khối máy chủ thứ hai. Bạn sẽ chỉ cần nó nếu bạn muốn phân phát các trang web khác nhau trên `1.1.1.1` và `2.2.2.2`. Và việc sử dụng `test.mydomain.com` trong thanh địa chỉ của trình duyệt sẽ khiến trình duyệt sử dụng cổng 80/443 tùy thuộc vào lược đồ `htttp://` hoặc `https://`, bạn sẽ cần chỉ định cổng một cách rõ ràng : `http://test.mydomain.com:5000/...`
lá cờ ru
@IvanShatsky Đó là một ý tưởng rõ ràng về máy chủ mặc định. Cảm ơn. Nhưng hãy để tôi làm rõ một vấn đề. Ví dụ: tôi muốn thêm 1.1.1.1 IP hoạt động để truy cập mạng riêng. Và muốn thêm 2.2.2.2 -> https://test.mydomain.com để truy cập công khai. Sau đó, làm thế nào tôi có thể sửa đổi cho vấn đề này?
lá cờ ru
Vui lòng xem EDIT 2 (đã cập nhật) bây giờ nó có hoạt động không?
Ivan Shatsky avatar
lá cờ gr
Theo hiểu biết của tôi, nếu bạn muốn phục vụ cùng một trang web cho cả hai địa chỉ, bạn không cần bất kỳ thứ gì khác ngoài một khối máy chủ duy nhất có chỉ thị `listen 5000;`. Bạn thậm chí không cần chỉ định tên máy chủ nếu miền `test.mydomain.com` phân giải thành địa chỉ của bạn. Nó sẽ phục vụ bất kỳ yêu cầu nào đến cổng TCP 5000. Tôi nghĩ rằng các liên kết mà tôi cung cấp trước đó khá dễ hiểu.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.