Gần đây tôi đã triển khai thành công ứng dụng ShinyProxy + bằng SSL với nginx và certbot theo cách sau:
- Dockerize ShinyProxy + ứng dụng và khởi chạy trên cổng
127.0.0.1:5001
.
- Tạo cấu hình Nginx và
proxy_pass
đến 127.0.0.1:5001
.
- an toàn khi sử dụng
certbot
.
Đây là nginx.conf thành công địa điểm
tiết diện:
đị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_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
proxy_http_version 1.1;
proxy_redirect tắt;
proxy_read_timeout thập niên 90;
proxy_pass http://127.0.0.1:5001;
}
Điều này độc đáo chuyển hướng tôi đến https://app.myweb.com/login
như tôi đã thiết lập một CNAME
. Điều quan trọng cần lưu ý, {ShinyProxy} chuyển hướng đến đăng nhập
ở cuối tự động. Khi đăng nhập thành công, url chuyển hướng đến https://app.myweb.com/app/website
.
Điều tôi thực sự đấu tranh là như sau: thêm một khối vị trí
hoặc như tôi hiểu nó, bao gồm của tôi Thượng nguồn
chặn vào của tôi hạ lưu
(sửa các điều khoản của tôi nếu tôi sai). Vì vậy, có url của tôi đi từ https://app.myweb.com/login
đến https://app.myweb.com/dashboard/login
sử dụng cấu hình sau trong nginx:
vị trí /dashboard/ { # ĐÂY LÀ NHỮNG GÌ TÔI MUỐN THÊ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_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
proxy_http_version 1.1;
proxy_redirect tắt;
proxy_read_timeout thập niên 90;
proxy_pass http://127.0.0.1:5001;
}
Tất cả những gì xảy ra là, nếu tôi gõ https://app.myweb.com/dashboard/
nó không đi đến https://app.myweb.com/dashboard/login
như tôi mong đợi, nhưng chuyển hướng trở lại https://app.myweb.com/login
cái mà 404
'S.
Bất kỳ lời khuyên về những gì tôi đang làm sai?