Saya memiliki Nginx
server yang berjalan pada 80
port yang berfungsi sebagai proxy Apache 2.2
yang sedang didengarkan127.0.0.1:8080
Ketika saya mengaksesnya http://hostname/subfolder/
berfungsi dengan baik.
Ketika saya mengaksesnya http://hostname/subfolder
mengarahkan saya ke http://hostname:8080/subfolder/
yang salah.
Sejauh yang saya lihat redirect yang salah dikembalikan oleh Apache tetapi UseCanonicalName
dan UseCanonicalPhysicalProxy
keduanya diatur keOff
Adakah Ide tentang cara memperbaikinya?
apache-2.2
nginx
quark
sumber
sumber
Jawaban:
Saya juga mengalami hal ini, dan saya dapat memperbaikinya dengan direktif proxy_redirect tepat setelah direktif proxy_pass saya dalam konfigurasi nginx saya:
Ini adalah konfigurasi nginx lengkap saya (Dalam kasus saya, Apache ada di port 81 dan hosting dua situs. Saya menambahkan dua baris proxy_redirect khusus-situs karena saya tidak yakin bagaimana cara menambahkan satu generik tunggal.)
Catatan: Ini untuk versi nginx 5+ tahun pra-1.0. Inilah dokumen untuk proxy_redirect untuk versi saat ini: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
sumber
Jika direktif ServerName Anda di Apache diatur ke "hostname: 8080", hapus ": 8080" atau ubah menjadi "hostname: 80". Anda juga dapat menambahkan "proxy_set_header Host $ host: 80"
sumber
Saya memiliki masalah ini sejak lama .. Seperti yang saya ingat ada hubungannya dengan HTTP RFC, slash pada akhirnya menunjukkan direktori (/ test /), tidak ada slash pada akhirnya file (/ test)
Singkatnya, tambahkan aturan penulisan ulang yang akan menambahkan garis miring pada permintaan, jika tidak ada.
lihat Solved: masalah trailing slash dengan server Nginx
HTP
sumber
Saya mengalami masalah yang tepat baru-baru ini. Sementara solusi yang disarankan akan berhasil, Nginx menawarkan solusi bawaan:
Dokumentasi di http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
Berikut ini adalah contoh lengkap cara menggunakannya:
sumber
Mungkin nginx tidak mengatur header proxy untuk memberi tahu apache seperti apa bentuk permintaan aslinya.
Dalam nginx:
Lihat http://wiki.nginx.org/LikeApache
sumber