Điểm:0

Làm cách nào để thiết lập proxy ngược nginx cho ổ đĩa Synology?

lá cờ sr

tl;dr

Tôi đã thử thiết lập nginx để chuyển tiếp kết nối TCP qua 6690 tới Synology Drive. Nhưng khi sử dụng nghe 6690 ssl; Synology Drive Client không thể tìm thấy NAS và khi sử dụng nghe 6690 ; (không có SSL) đã tìm thấy NAS, nhưng chứng chỉ chưa được ký của nó được sử dụng thay vì chứng chỉ được lưu trữ với nginx. Bạn có biết cách bật SSL và sử dụng proxy ngược nginx với Synology Drive không?

giới thiệu

Tôi đã tìm thấy một số bài đăng/câu hỏi giải thích cách thiết lập kết nối SSL với NAS Synology bằng nginx làm proxy ngược trên một máy tính riêng biệt. Do đó, khi truy cập (https://)my-domain.com, tôi có thể (đã) truy cập trang web cài đặt của Synology Drive (tức là có thể truy cập DSM qua cổng 5000/5001). Tuy nhiên, tôi cũng muốn thiết lập Synology Drive để sử dụng cùng chứng chỉ SSL từ Let's Encrypt, nhưng ở đây tôi gặp khó khăn khi thiết lập nginx.

Câu hỏi

Vì vậy, tôi chỉ muốn cấu hình Synology Drive và thiết lập DNS của drive.my-domain.com để truy cập bộ định tuyến của mình.Ngoài ra, tôi đã nhận được chứng chỉ SSL cho miền này và đã điều chỉnh cổng HTTPS của Synology Drive thành 10003. Trong bộ định tuyến của mình, tôi đã chuyển tiếp các cổng 80, 443 và 6690 tới proxy ngược của mình theo khuyến nghị đây. Đối với nginx, tôi đã cấu hình /etc/nginx/conf.d/synology.conf:

bao gồm /etc/letsencrypt/options-ssl-nginx.conf;

người phục vụ {
    nghe 80;
    server_name drive.my-domain.com default_server;

    # Để xác minh Let's Encrypt
    vị trí ^~ /.well-known {
        chấp nhận tất cả;
        gốc/dữ liệu/letsencrypt/;
    }
}

người phục vụ {
    nghe 80;
    nghe 443 ssl;
    server_name drive.my-domain.com;

    địa điểm / {
        proxy_set_header Máy chủ lưu trữ $host;
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass https://<IP-OF-SYNOLOGY-NAS>:10003;
        proxy_read_timeout 90;
    }

    ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
    
    bao gồm /etc/letsencrypt/options-ssl-nginx.conf;
    if ($scheme != "https") {
        trả lại 301 https://$host$request_uri;
    }
}

Hơn nữa, tôi đã thêm dòng sau vào /etc/nginx/nginx.conf:

...

bao gồm /etc/nginx/fallthrough.conf;

/etc/nginx/fallthrough.conf chứa những điều sau đây:

dòng {

    ngược dòng synology_drive {
         máy chủ <IP-OF-SYNOLOGY-NAS>:6690;
    }

    người phục vụ {
        nghe 6690 ssl;
        proxy_pass synology_drive;
        
        ssl_certificate /etc/letsencrypt/live/drive.my-domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/drive.my-domain.com/privkey.pem;
    }
}

Tuy nhiên, khi cố gắng thiết lập Synology Drive Client, nó không thể kết nối/tìm thấy Synology NAS. Khi thay đổi /etc/nginx/fallthrough.conf để không sử dụng SSL, tức là:

dòng {

    ngược dòng synology_drive {
         máy chủ <IP-OF-SYNOLOGY-NAS>:6690;
    }

    người phục vụ {
        nghe 6690 ;
        proxy_pass synology_drive;
    }
}

Đã tìm thấy NAS Synology, nhưng chứng chỉ tự ký được lưu trữ trên NAS được sử dụng, thay vì chứng chỉ từ Let's Encrypt được lưu trữ trên máy tính proxy ngược.

Có ai biết tôi đang làm gì hoặc có thể đang làm gì sai ở đây không?

Điểm:1
lá cờ us

Các dòng mô-đun là mô-đun ủy quyền lớp 4, nghĩa là, nó chỉ chuyển tiếp các gói TCP giữa máy khách kết nối và máy chủ ủy quyền.

Khi TLS xảy ra ở cấp độ cao hơn, nginx không tham gia mã hóa SSL. Tôi thực sự ngạc nhiên rằng nginx không có lỗi trên ssl_certificate chỉ thị trong cấu hình của bạn.

Tùy chọn duy nhất của bạn là sao chép khóa cá nhân và chứng chỉ từ nginx sang thiết bị Synology, vì đó là thực thể chấm dứt kết nối TLS trong trường hợp này.

lá cờ sr
Trước khi thiết lập nginx làm proxy ngược, tôi đã thường xuyên sao chép các khóa vào Synology. Nhưng làm như vậy có vẻ không ổn định và không phải là phương pháp ưa thích. Chà... tôi đoán tôi sẽ phải kiên trì với nó trong thời gian này.

Đă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.