ok, tugas ini seharusnya sederhana tetapi saya tidak bisa membuatnya bekerja. Saya ingin memiliki subfolder setelah nama domain saya (sebenarnya setelah IP dari nama domain itu), yang dialihkan ke port tertentu di server yang sama. Pada dasarnya, saya ingin menghilangkan keharusan menggunakan banyak port.
Ini konfigurasi nginx saya untuk itu
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
Jadi saat mengakses aaa.bbb.ccc.ddd / app2 saya ingin ini diselesaikan ke http: //aaa.bbb.ccc.ddd: 8001 .
Ini dapat dicatat mungkin sangat rumit. Apa yang kulewatkan di sini?
Pat terima kasih
Jawaban:
Karena Anda menandai ini sebagai pertanyaan proxy terbalik, saya berasumsi bahwa Anda ingin membuat proksi permintaan sehingga pengguna hanya melihat
http://aaa.bbb.ccc.ddd/app2
URL di browser-nya.Anda dapat mengubah
location
blokir Anda menjadi ini:Di sini kita menangkap bagian URI setelah
/app2
ke$1
variabel, dan menggunakannya dalamproxy_pass
arahan.sumber
aaa.bbb.ccc.ddd:8001
halaman? Kemungkinan besar Anda perlu memperbaiki URL untuk mengandung/app2
bagian tersebut.