nginx proxy manager rewrite
NGINX yeniden yazma kuralları, bir istemci tarafından istenen URL'nin tamamını veya bir kısmını değiştirmek için kullanılır. Bir URL'yi değiştirmenin temel amacı, istemcilere aradıkları kaynakların konumunu değiştirdiğini bildirmektir. NGINX'teki return ve rewrite yönergeleri URL'leri yeniden yazmak için kullanılır. Her iki yönerge de URL'yi yeniden yazma işlevini yerine getirir. Ancak, URL'nin ayrıştırılmasını gerektiren karmaşık yeniden yazma işlemleri yalnızca yeniden yazma yönergesiyle yapılabildiğinden, yeniden yazma yönergesi return yönergesinden daha güçlüdür.
REWRITE ve RETURN Arasındaki Temel Farklar
| Özellik | rewrite | return |
|---|---|---|
| Amacı | URL'i yeniden yazmak (rewrite) veya başka bir adrese yönlendirmek | Hızlı şekilde cevap döndürmek veya yönlendirme yapmak |
| Çalışma şekli | Regex ile URL’i değiştirir ve iç işlemleri devam ettirir | Anında çıkış yapar, işlem durur |
| Performans | Daha yavaştır (regex + internal processing) | Çok hızlıdır |
| Kullanım amacı | URL manipülasyonu, iç yönlendirme, karmaşık kurallar | Basit yönlendirme, hata kodu döndürme, hızlı redirect |
| Internal redirect yapabilir | Evet (rewrite ... last;) |
Hayır |
| External redirect yapabilir | Evet (rewrite ... permanent;) |
Evet (return 301 ...;) |
| Regex desteği | Var | Yok |
| Genel tavsiye | Karmaşık kurallar için | Redirect için en doğru yöntem |
Kısaca Return hızlı, net, doğrudan yönlendirme yaparken Rewrite ise URL’i regex ile değiştirir veya iç yönlendirme yapar, daha esnektir ama daha yavaştır.
Örneğin bir çok ortamda artık qr code kullanılmakta olup code içinde url adresleri bulunmaktadır. Ancak bu adresler ileride değişebilir. Bu yüzden qr code içine sabit bir link verip orjinal linke yönlendirme yapabilirsiniz. Bunu güvenlik amaçlıda yapabilirsiniz. Aşağıda nextcloud üzerinde paylaşılan link adresleri kapatılıp açıldığında değiştiği için bu yöntem kullanılmıştır.
Return işlemini Nginx Proxy Manager üzerinde basi bir şekilde halledebiliriz. Bunun için Hosts → Proxy Hosts yolunu takip edin. Açılan pencerede Add Proxy Host kısmından aşağıdaki bilgileri doldurunuz.
Details kısmından sunucu bilgilerini yazınız.

SSL kısmından sertifikanız varsa yükleyip kullanabilirsiniz. Advanced kısmına gelelim. Custom Nginx Configuration alanına ilgili alanları aşağıdaki gibi birden fazla yazabilirsiniz.
Aşağıdaki örnekte kullanıcı public.onkoloji.gov.tr/fizik-bel-1 yazdığından https://public.onkoloji.gov.tr/index.php/s/EtrbToZNMi4QXQZ adresine yönlendirilecektir. Aşağıdaki gibi birden fazla yönlendirme yapabilirsiniz.
- location → kullanıcının yazacağı url adresi → /fizik-bel-1 {
- return 301 → kullanıcığın yönlendirileceği adres → https://public.onkoloji.gov.tr/index.php/s/EtrbToZNMi4QXQZ;
