saat mengakses: http://example.com/somefolder -> http://example.com:8080/somefolder
Saya sudah mencoba ini:
http {
port_in_redirect off;
Ada ide?
saat mengakses: http://example.com/somefolder -> http://example.com:8080/somefolder
Saya sudah mencoba ini:
http {
port_in_redirect off;
Ada ide?
server
blok yang berisiproxy_pass
arahan. Apa yang mungkin Anda perlukan akan menjadiproxy_redirect
arahan - melihat konfigurasi Anda harus mengonfirmasi.port_in_redirect
darion
keoff
Anda mungkin perlu me-restart itu.port_in_redirect
tidak bekerja sama sekaliJawaban:
Saya baru saja mengalami masalah yang sama dan
port_in_redirect off;
benar - benar bekerja untuk saya, pastikan Anda menggunakannya di dalamserver {}
blok.sumber
port_in_redirect
di dalamlocation
.Ini harus memperbaiki masalah. Tambahkan
proxy_redirect
arahan tepat setelahproxy_pass
arahanproxy_redirect http://example.com:8080/ http://example.com/;
sumber
Jika seseorang masih mengalami masalah ini ketika memiliki apache di balik pengaturan proxy reverse nginx, Anda dapat mencoba ff:
Setup saya adalah saya membiarkan Apache mendengarkan 127.0.0.1:8083 dan membiarkan nginx proxy memintanya.
sumber
Saya memiliki masalah yang sama dengan pengaturan nginx + Apache saya. Apache tampaknya mengarahkan ke port itu sendiri (berjalan pada 8080), sementara nginx ada di port 80.
Dalam pengaturan saya, ini membuat loop pengalihan tak terbatas untuk url normal :
Sebaliknya mengikat data yang dikembalikan ke port 80, seperti ini:
Inilah blok server nginx saya:
Dengan pengaturan wildcard ini, semua permintaan nginx tidak memiliki blok server untuk diteruskan ke Apache.
sumber
Jika ada orang lain yang mengalami masalah ini - artikel di sini: http://www.linuxquestions.org/questions/linux-server-73/strange-nginx-redirects-without-trailing-slash-930876/ menyelesaikan masalah untuk saya .
Saya harus menambahkan header tambahan di proxy.
Pastikan Anda memiliki Host set untuk
$http_host
dan juga bahwa Anda telah mengaturX-Forwarded-Host
untuk$http_host
seperti di bawah ini:sumber
Saya pikir contoh sederhana ini sudah cukup:
sumber
http://wiki.codemongers.com/NginxHttpCoreModule#port_in_redirect
Semoga ini yang Anda cari.
sumber
Saya punya masalah serupa.
Mungkin Anda harus menggunakan arahan
proxy_set_header
untuk mengatur host dan lokasi header. Dalam konfigurasi saya, saya menambahkanproxy_set_header Location $host:80
; dan semua permintaan mengembalikan port 80 sekarang.sumber
Masalah ini disebabkan oleh Nginx otomatis menerjemahkan jalur relatif ke jalur absolut, bukan?
Ada cara untuk memberi tahu Nginx untuk tidak menerjemahkan, Anda menambahkan spasi sebelum slash:
ngx.redirect(" /foo")
sumber
Saya akan merekomendasikan sebagai gantinya menambahkan ini ke blok server Anda:
Ini adalah ketika Anda pergi ke example.com/wp-admin itu akan pergi ke example.com/wp-admin daripada pergi ke example.com:8080/wp-admin/ dan jika Anda menggunakan CloudFlare DNS misalnya ia akan mengatakan situs sedang down.
Saya menggunakan Ubuntu, Nginx dan Varnish dan ini berfungsi dengan baik sekarang daripada menonaktifkan port_in_redirect.
Untuk menambahkan, pastikan untuk me-restart nginx setelah:
sumber
Menambahkan
absolute_redirect off;
blok lokasi berfungsi untuk saya.sumber