Làm cách nào để sử dụng Ngnix làm proxy ngược để truy cập OpenShift (OKD) 4.X?
Tôi đã thử hàng trăm thiết lập cho proxy ngược (Nginx) và tất cả đều không thành công với lỗi "Ứng dụng không khả dụng" khi chúng ta truy cập vào oauth-openshift.apps.mbr.some.dm tuyến đường.
GHI CHÚ: Sự cố này không xảy ra nếu chúng ta truy cập trực tiếp vào tuyến đường này (không sử dụng Reverse Proxy). Có lẽ một số thông tin cần thiết để giải quyết tuyến đường không được gửi.
Đây là mẫu cấu hình cơ bản mà chúng tôi đang sử dụng...
người phục vụ {
access_log /var/log/nginx/apps.mbr.some.dm-access.log;
error_log /var/log/nginx/apps.mbr.some.dm-error.log;
server_name ~^(?<tên miền phụ>.+)\.apps\.mbr\.some\.dm$;
địa điểm / {
proxy_pass https://10.2.0.18:443;
proxy_set_header Máy chủ $subdomain.apps.mbr.some.dm;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
}
nghe 443;
ssl_certificate /etc/letsencrypt/live/apps.mbr.some.dm/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/apps.mbr.some.dm/privkey.pem;
bao gồm /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}
Chúng tôi cũng đã thử nghiệm các thông số này và gặp một số vấn đề như bạn có thể thấy bên dưới...
người phục vụ {
[…]
địa điểm / {
[…]
proxy_ssl_certificate /etc/nginx/backend_ss_certs/apps.mbr.some.dm.crt;
proxy_ssl_certificate_key /etc/nginx/backend_ss_certs/apps.mbr.some.dm.key;
proxy_ssl_trusted_certificate /etc/nginx/backend_ss_certs/apps.mbr.some.dm.crt.key.pem;
proxy_ssl_ciphers CAO:!aNULL:!MD5;
proxy_ssl_protocols TLSv1.2 TLSv1.3;
proxy_ssl_server_name bật;
bật proxy_ssl_session_reuse;
bật proxy_ssl_verify;
[…]
}
[…]
}
các chứng chỉ ứng dụng.mbr.some.dm.crt, ứng dụng.mbr.some.dm.key, apps.mbr.some.dm.crt.key.pem là các chứng chỉ tự ký được sử dụng bởi OpenShift (OKD) để cho phép truy cập vào tài nguyên (HTTPS). Tuy nhiên, nếu chúng tôi cố gắng sử dụng các chứng chỉ này với proxy ngược (Nginx) thì sẽ xảy ra lỗi sau ("Cổng xấu")...
22/07/2021 17:36:11 [lỗi] 6999#6999: *1 lỗi xác minh chứng chỉ SSL ngược dòng: (21:không thể xác minh chứng chỉ đầu tiên) trong khi bắt tay SSL ngược dòng, máy khách: 177.25.231.233, máy chủ: ~ ^(?<tên miền phụ>.+)\.apps\.mbr\.brlight\.net$, yêu cầu: "NHẬN /favicon.ico HTTP/1.1", ngược dòng: "https://10.2.0.18:443/favicon .ico", máy chủ lưu trữ: "oauth-openshift.apps.mbr.some.dm", liên kết giới thiệu: "https://oauth-openshift.apps.mbr.some.dm/oauth/authorize?client_id=console&redirect_uri=https%3A %2F%2Fconsole-openshift-console.apps.mbr.some.dm%2Fauth%2Fcallback&response_type=code&scope=user%3Afull&state=ff6f3064"
LƯU Ý: Chúng tôi đã thử nghiệm ứng dụng.mbr.some.dm.crt và apps.mbr.some.dm.crt.key.pem chứng chỉ sử dụng Xoăn và cả hai đều hoạt động hoàn hảo.
THÊM: Chúng tôi không thể xác định cách chẩn đoán/quan sát (nhật ký) về những gì xảy ra khi yêu cầu đến tuyến đường oauth-openshift.apps.mbr.some.dm . Tôi nghĩ rằng điều này sẽ giúp chúng tôi tìm ra những gì đang xảy ra.