Rumah > Soal Jawab > teks badan
upstream backend {
server 192.168.0.100:80;
server 192.168.0.100:81;
}
server {
listen 80;
server_name www.abc.com abc.com;
root /opt/wwwroot/abc.com/;
location / {
proxy_pass https://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_hide_header X-Powered-By;
}
location = / {
index index.html index.htm index.php;
}
}
Saya mahu pengguna tidak menggunakan proxy_pass apabila melawati www.abc.com/ Sebaliknya, mereka boleh terus mengakses halaman /opt/wwwroot/abc.com/index.html, dan semua permintaan lain akan melalui proxy_pass
.
Saya telah mengusahakannya untuk masa yang lama dan saya tidak dapat memikirkannya. Ia agak pelik. .
怪我咯2017-05-16 17:30:20
location = / {
rewrite / /index.html break;
root /usr/share/nginx/html;
index index.html;
}
伊谢尔伦2017-05-16 17:30:20
Ini disebabkan oleh peraturan padanan lokasi lalai nginx Padanan lokasi nginx sepadan dengan URI relatif Peraturan padanan lokasi nginx adalah seperti berikut:
Memahami peraturan padanan lokasi nginx, situasi anda mudah untuk dijelaskan. URI relatif www.abc.com/ ialah / Ia adalah /adf, dan ia diserahkan kepada padanan universal mengikut peraturan padanan lokasi anda
Jika anda ingin menyelesaikan masalah ini, letak sahaja indeks dalam padanan universal Menulis lokasi = / {} sahaja tidak memberi kesan mengikut keperluan anda