Điểm:0

Làm cách nào để nginx + proxy_pass vào bộ chứa docker bằng ssl?

lá cờ de

Tôi muốn phục vụ nhiều trang web trên máy chủ của mình. Mỗi trang web tôi cho là bao bọc dưới dạng bản dựng docker-compose, mỗi trang có nginx riêng, lắng nghe một cổng duy nhất

Tôi có một trang web với tên máy chủ site1.com. Đó là docker Compose hiển thị cổng 81:

...
dịch vụ:
  web:
    hình ảnh: nginx
    ...
    cổng:
      - '81:443'
    ...
...

Và ứng dụng khách nginx (bên trong vùng chứa) lắng nghe mọi thứ trên 443 và có tất cả các cài đặt ssl

người phục vụ {
        nghe 443 ssl;

        ssl_certificate /etc/letsencrypt/fullchain1.pem;
        ssl_certificate_key /etc/letsencrypt/privkey1.pem;
    
        #...
        # và mọi thứ khác
}

Và đây là máy chủ nginx, chỉ chuyển từ cổng 80 sang 81 theo server_name:

người phục vụ {
        nghe 80;
        nghe [::]:80;

        server_name site1.com;

        địa điểm / {
                proxy_pass https://localhost:81;
        }
}

Hiện tại nó đang hoạt động. Nhưng nó không an toàn. Vì vậy, tôi cố gắng thêm chuyển tiếp 443.

người phục vụ {
        nghe 443;
        nghe [::]:443;
        server_name bederdinov.me;

        địa điểm / {
                proxy_pass https://localhost:81;
        }
}

Nginx khởi động lại tốt, nhưng khi tôi truy cập https://site1.com tôi đang nhận được một ERR_SSL_PROTOCOL_ERROR

Có vẻ khá rõ ràng - máy chủ nginx đang cố gắng phục vụ yêu cầu với ssl, nhưng chỉ docker client nginx mới biết cách thực hiện

Làm cách nào tôi có thể nói với máy chủ nginx rằng nó không phải làm bất cứ điều gì mà chỉ chuyển tất cả công việc cho máy khách nginx? Hoặc có thể có một phần mềm máy chủ khác mà tôi có thể sử dụng cho nhiệm vụ này?

Điểm:0
lá cờ in

Việc chấm dứt SSL được xử lý bởi nginx bên ngoài vùng chứa. Bạn cần định cấu hình các tùy chọn SSL ở đó. Không cần định cấu hình SSL bên trong vùng chứa miễn là nó chạy trên cùng một máy chủ với proxy ngược.

lá cờ de
Lý do duy nhất là lưu trữ cấu hình ssl trong kho lưu trữ dự án của tôi thay vì tạo lại nó mỗi khi tôi chuyển dự án của mình sang máy chủ khác. Nhưng có lẽ tôi đang suy nghĩ quá nhiề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.