Nginx’de bir URL’yi aşağıdaki gibi yönlendirmeye çalışıyoruz:
http://example.com/some/path -> http://192.168.1.24
Kullanıcının, orijinal URL’yi hala tarayıcılarında gördüğü Kullanıcı yönlendirildiğinde, bağlantıyı tıkladıklarını söyleyin, bunun yönlendirmeye yönlendiren /section/index.html
bir istek yapmasını isteriz
http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html
ve yine orijinal URL’yi koru.
Denemelerimiz proxy'ler ve yeniden yazma kuralları kullanan çeşitli çözümler içeriyordu ve aşağıda bizi bir çözüme en yakın hale getiren yapılandırma gösteriliyor (bunun web sunucusu için web sunucusu yapılandırması olduğuna dikkat edin example.com
). Ancak, bununla ilgili hala iki sorun var:
- Web sunucusundan alınan istek URL’si
http://192.168.1.24
içerdiğinden/some/path
ve bu nedenle gerekli sayfayı sunamadığından, yeniden yazma işlemini doğru şekilde yapmaz . Bir sayfa sunulduktan sonra bir linke
/some/path
geldiğinizde, URL’de eksikserver { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index index.html; root /var/www/example.com/htdocs; } }
Yalnızca web sunucusu yapılandırmasını değiştirmeyi içeren bir çözüm arıyoruz example.com
. Yapılandırma'yı 192.168.1.24
(Nginx) de değiştirebiliyoruz , ancak bunu denemek ve önlemek istiyoruz, çünkü bu kurulumu, erişiminin sağlandığı yüzlerce farklı sunucu için tekrarlamamız gerekecek example.com
.