Vì vậy, thiết lập hiện tại của tôi là như sau: Tôi đang sử dụng docker (cài đặt không root) và muốn sử dụng Bàn phím mật mã (sử dụng Node.js) với Nginx làm Proxy đảo ngược (tuyên bố từ chối trách nhiệm: Tôi chưa từng làm việc với Nginx trước đây).
Cả Cryptpad và Nginx đều đang chạy trong các vùng chứa riêng biệt. Để phục vụ các tệp tĩnh, tôi đã tạo một ổ đĩa chứa tất cả các tệp tĩnh từ Cryptpad và được gắn trong Nginx-Container (chỉ đọc). Vấn đề là, một số nội dung không thể được cung cấp theo cách này: các tệp blob lớn sẽ được lưu trên một thư mục bên ngoài chỉ có thể truy cập được từ Cryptpad-Container (tôi có lý do của mình cho việc này).
Vì vậy, tôi đã cố gắng yêu cầu Nginx gửi proxy_pass yêu cầu tệp này tới Máy chủ nút của Cryptpad, nhưng tôi không thể tìm ra cách xác định chuyển hướng này.
Cấu hình của tôi:
- tên của Nginx-Container: nginx
- tên của Cryptpad-Container: cryptpad
- cổng của Node-Server: 3000
- cả hai vùng chứa được kết nối với cùng một mạng cầu nối (tùy chỉnh) (và do đó có thể truy cập được bằng tên vùng chứa của chúng)
Nginx-Config cho máy chủ (rút ngắn đến phần có liên quan; mã đầy đủ được điều chỉnh từ đây)
[…]
vị trí ^~ /block/ {# đã sửa đổi vị trí khối để kiểm tra proxy (được truy cập dễ dàng hơn blob)
add_header Cache-Control max-age=0;
#try_files $uri =404;# mã gốc
try_files http://cryptpad:3000/$request_uri =409;# mã lỗi tùy ý để phân biệt với các lỗi thông thường
}
[…]
vị trí @node {# được sử dụng để ủy quyền tất cả các vị trí chưa được xử lý cho nút
proxy_pass http://cryptpad:3000;
}
try_files /www/$uri /www/$uri/index.html /customize/$uri @node;
Nhưng bất cứ khi nào /block/ được truy cập, máy chủ sẽ trả về 409 nên chuyển hướng không hoạt động.
Tôi cũng đã thử nó với proxy_pass http://cryptpad:3000/$request_uri/;
hoặc proxy_pass http://cryptpad:3000;
(kết quả là 404) và try_files @node =409;
.
Vì vậy, có ai biết cách làm cho chuyển hướng nội bộ này hoạt động hoặc ít nhất là một cách để theo dõi lưu lượng giữa hai vùng chứa không?