Tôi có một máy chủ của bên thứ 3 ui chạy trong một container Docker, tiếp xúc trên cổng 8080.proxy ngược nginx cho một tập hợp các trang có đường dẫn bổ sung trong URL dựa trên http referer?
Dường như với mong đợi để tải các tài nguyên với một đường dẫn tuyệt đối: http://localhost:8080/index.html
, http://localhost:8080/js/some_jsfiles
, vv
Tôi muốn tạo ra một reverse proxy để nó để nó trông giống như nó đến từ một con đường khác nhau:
https://myserver.com/stormui/index.html
, https://myserver.com/stormui/js/...
đầu tiên tôi đã cố gắng
location /stormui/ {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
#rewrite ^/stormui/(.*) /$1 break;
proxy_pass http://127.0.0.1:8080/;
}
Trang index.html tải, nhưng trình duyệt vẫn cố tải nội dung được giới thiệu mà không có đường dẫn bổ sung, vì vậy tôi nhận được 404 trên tất cả các javascripts, vv được tham chiếu từ index.html.
Sau đó, tôi cố gắng sử dụng referer để làm viết lại địa điểm/{
if ($http_referer ~ "^/stormui/.*") {
rewrite ^/(.*) /stormui/$1 break;
}
root /usr/share/nginx/html;
index index.html index.htm;
...
}
Đó không hiệu quả, một trong hai. Có cách nào để làm việc này không?
index.html được tạo có chứa URL tuyệt đối cho js/css không? – Marki555