Proxy động với nginx dựa trên url param


10

Tôi đang tải hình ảnh từ một trang web bên ngoài mà tôi muốn sử dụng trong khung vẽ 3D WebGL. Tuy nhiên điều này không được phép do nguồn gốc.

URL tôi đang tạo từ trang web như sau:

http://domain/somename/imagesproxy?url=http%3A%2F%2Fanothersite%2Fimage.png

Bây giờ tôi muốn proxy_passgiả sử, với URL được bao gồm trong yêu cầu.

location /somename/imagesproxy {
     proxy_pass  ...
     proxy_set_header  host localhost;
}

Làm cách nào để tôi có được nginx để ủy quyền động cho các URL khác nhau


Từ những gì tôi đã đọc nginx không được thiết kế để trở thành một proxy chuyển tiếp tuy nhiên tôi muốn sử dụng một giải pháp nginx nếu có thể.
sphvn

Câu trả lời:



0
location = / {
    if ($args ~ "^url=(.+)") { #gets the "url" get parameter
        set $key1 $1;
        proxy_pass $key1; #use the parameter as proxy address
    }
}

3
Câu trả lời này yêu cầu giải thích.
kasperd
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.