Điểm:0

Ứng dụng Tomcat (máy chủ ERDDAP) đằng sau sự cố chuyển hướng proxy

lá cờ nc

Tôi có một phiên bản ERDDAP đang chạy trên máy chủ Tomcat phía sau proxy ngược NGINX. Môi trường hoàn toàn trên Kubernetes, RP là bộ điều khiển xâm nhập NGINX chuyển tiếp yêu cầu trên cổng 443 đến phiên bản dịch vụ trên cổng 8080 được liên kết với vùng chứa nơi Tomcat (và phiên bản ERDDAP) chạy.

Tôi tìm thấy hướng dẫn này (https://www.n0r1sk.com/post/nginx-reverse-proxy-with-ssl-offloading-and-apache-tomcat-backends/) cho biết cách định cấu hình server.xml cho Tomcat đằng sau proxy ngược, do đó, Trình kết nối HTTP cho máy chủ Tomcat của tôi là:

<Connector server="Apache" secure="true" port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
       proxyPort="443"
       relaxedPathChars='[]|'
       relaxedQueryChars='[]:|{}^&#x5c;&#x60;&quot;&lt;&gt;' />

Với cấu hình này, khi tôi yêu cầu URL https://erddap.ve.ismar.cnr.it/erddap:

 NHẬN/erddap/HTTP/1.1
 Máy chủ: erddap.ve.ismar.cnr.it
 ID yêu cầu X: 484e514b4038614090bf34061e9287f3
 X-Real-IP: 10.104.235.192
 X-Forwarded-For: 10.104.235.192
 X-Forwarded-Host: erddap.ve.ismar.cnr.it
 X-Forwarded-Port: 443
 X-Forwarded-Proto: https
 Sơ đồ X: https
 ...

Tôi nhận được phản hồi sau:

HTTP/1.1 302 
Nghiêm ngặt-Giao thông-An ninh: max-age=0
Tùy chọn khung hình X: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Bảo vệ: 1; chế độ = khối
khác nhau: Nguồn gốc
Kiểm soát truy cập-Cho phép-Thông tin xác thực: đúng
Access-Control-Expose-Headers: Kiểm soát truy cập-Cho phép-Xuất xứ,Kiểm soát truy cập-Cho phép- 
thông tin đăng nhập
Vị trí: https://erddap.ve.ismar.cnr.it/erddap/index.html
Độ dài nội dung: 0
Ngày: Thứ năm, ngày 24 tháng 2 năm 2022 17:55:41 GMT
Máy chủ: Apache

và mọi thứ hoạt động tốt với chuyển tiếp proxy và phản hồi Tomcat phụ trợ.

Nhưng nếu tôi thêm vào cấu hình Trình kết nối Tomcat, tham số scheme="https" như được đề xuất trong hướng dẫn đã đề cập ở trên:

<Connector server="Apache" secure="true" port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
       proxyPort="443"
       scheme="https"
       relaxedPathChars='[]|'
       relaxedQueryChars='[]:|{}^&#x5c;&#x60;&quot;&lt;&gt;' />

yêu cầu tương tự không thành công và tôi nhận được phản hồi sau từ Tomcat:

HTTP/1.1 302 
Nghiêm ngặt-Giao thông-An ninh: max-age=0
Tùy chọn khung hình X: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Bảo vệ: 1; chế độ = khối
khác nhau: Nguồn gốc
Kiểm soát truy cập-Cho phép-Thông tin xác thực: đúng
Access-Control-Expose-Headers: Kiểm soát truy cập-Cho phép-Xuất xứ,Kiểm soát truy cập-Cho phép- 
thông tin đăng nhập
Vị trí: (không được chỉ định)/erddap/index.html
Độ dài nội dung: 0
Ngày: Thứ năm, ngày 24 tháng 2 năm 2022 18:02:44 GMT
Máy chủ: Apache

Bạn có thể nhận thấy tiêu đề "Vị trí:" hoàn toàn sai với tiền tố "(không được chỉ định)" và khiến khách hàng thực hiện yêu cầu tiếp theo đối với URL https://erddap.ve.ismar.cnr.it/erddap/(not%20specified)/erddap/index.html (và tất nhiên yêu cầu không thành công).

Bất cứ ai trong số các bạn có thể giúp tôi phát hiện ra vấn đề trong cấu hình Tomcat của tôi ở đâu không? Tại sao hành vi lại quá khác biệt khi chỉ cần thêm tham số scheme="https" vào server.xml?

Rất cám ơn trước, Pierpaolo

Điểm:0
lá cờ in

Cấu hình trình kết nối Tomcat của bạn thiếu thông tin proxy.

Các thuộc tính có liên quan là tên proxycổng giao thức

Ví dụ:

<Connector server="Apache" secure="true" port="8080" protocol="HTTP/1.1" 
   connectionTimeout="20000"
   proxyName="example.com"
   proxyPort="443"
   scheme="https"
   relaxedPathChars='[]|'
   relaxedQueryChars='[]:|{}^&#x5c;&#x60;&quot;&lt;&gt;' />
lá cờ nc
Xin chào Gerald, cảm ơn vì câu trả lời nhanh chóng của bạn! Trình kết nối của tôi có một số thông tin proxy, proxyPort được đặt thành 443. Tôi có phải thêm proxyName="erddap.ve.ismar.cnr.it" không?
lá cờ in
Vâng, đó là vấn đề.
lá cờ nc
Thật không may, nó không hoạt động, tôi chỉ thêm dòng proxyName="erddap.ve.ismar.cnr.it" trên trình kết nối tomcat nhưng máy chủ tiếp tục trả lời bằng tiền tố "(không được chỉ định)". `

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