Mövcud NGINX HTTP yönləndirmə marşrutunda kodlanmış yolları qoruyun
Yönləndirmə müqaviləsi orijinal yol və sorğunu tələb etdikdə request_uri istifadə edin və təyinatın mövcud yoxlamasını saxlayın.
$uri əsasında qurulmuş marşrut müştərinin təqdim etdiyindən fərqli yol göndərə bilər. http://service.example/files/a%2Fb?view=raw üçün ekranlaşdırılmış kəsik işarəsi həmin orijinal yazılışın hissəsidir.
| Dəyişən | Təsvir |
|---|---|
| $uri | Cari normallaşdırılmış URI; daxili emal zamanı dəyişə bilər |
| $request_uri | Orijinal sorğu URI-si, sorğu arqumentləri daxil olmaqla |
Təyinat səlahiyyətini artıq seçən və yoxlayan mövcud HTTP yönləndirmə proxy quruluşunda orijinal yol və sorğu belə qoruna bilər:
proxy_pass http://$http_host$request_uri;$http_host bu quruluşda seçilmiş Host başlığı səlahiyyətini təmin edir. Dinləyicinin müştəri məhdudiyyətlərini, təyinat siyasətini və ad həlli konfiqurasiyasını saxlayın.
$uri$is_args$args ifadəsini bu ifadə ilə əvəz etmək göndərilən təsviri dəyişir; əvvəlki normallaşdırılmış yolu və cari arqumentləri istifadə edir. Son nöqtə müqaviləsinə uyğun seçin, xüsusən ekranlaşdırılmış ayırıcılar vacib olduqda və ya imza orijinal hədəfi əhatə etdikdə. Qəsdən yolun yenidən yazılması fərqli tələbə malikdir.
Bu, görünən HTTP sorğusuna aiddir. HTTPS CONNECT tuneli sonrakı sorğunu TLS daxilində daşıyır və öz dəstəklənən emalını tələb edir.