menggunakan garis miring pada konfigurasi nginx

8
    location /product {
        proxy_pass http://10.0.0.25:8080;
    }

jika saya menggunakan deskripsi lokasi pertama saya untuk folder produk, saya harus menggunakan http://mysdomain.com/product/dan saya tidak dapat menggunakan http://mysdomain.com/productdari browser. Maksudku, aku harus menggunakan slash end of url. Saya ingin mengakses folder produk dengan dua stuation.

apakah ada perbedaan antara ini:

    location /product/ {
        proxy_pass http://10.0.0.25:8080;
    }
barteloma
sumber

Jawaban:

10

Lokasi-lokasi ini berbeda. Pertama akan cocok /productionmisalnya, itu mungkin bukan yang Anda harapkan. Jadi saya lebih suka menggunakan lokasi dengan garis miring.

Perhatikan juga:

Jika lokasi ditentukan oleh string awalan yang diakhiri dengan karakter slash, dan permintaan diproses oleh salah satu dari proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, atau memcached_pass, maka dalam menanggapi permintaan dengan URI sama dengan string ini, tetapi tanpa trailing slash, pengalihan permanen dengan kode 301 akan dikembalikan ke URI yang diminta dengan slash yang ditambahkan.

Jika Anda memiliki sesuatu seperti:

location /product/ {
    proxy_pass http://backend;
}

dan pergi ke http://example.com/product, nginx secara otomatis akan mengarahkan Anda ke http://example.com/product/.

Bahkan jika Anda tidak menggunakan salah satu arahan di atas, Anda selalu dapat melakukan arahan ulang secara manual:

location = /product {
    rewrite ^ /product/ permanent;
}

atau, jika Anda tidak ingin mengalihkan Anda dapat menggunakan:

location = /product {
    proxy_pass http://backend;
}
Alexey Ten
sumber
Saya menggunakan proxy_pass myip: 8080 / produk , lalu panggil browser alamat ini. Browser mengarahkan saya ke myip / produk dan memberikan halaman kesalahan tidak dapat melihat.
barteloma
Gunakan backticks untuk kode. Penurunan harga diuraikan komentar Anda dan sulit untuk menemukan apa kode Anda sebenarnya.
Alexey Ten
Terima kasih, penting untuk mengetahui bahwa jika / produk / ditambahkan maka bahkan browser yang mengirimnya / produk terikat untuk menerima 301 dari server. Poin yang cukup valid.
Sur Max
3

Tidak, ini tidak sama - Anda harus menggunakan garis miring dengan regex untuk mencocokkan keduanya, yaitu

location ~ /product/?

Lihat jawaban terkait ini untuk tanggapan yang lebih terperinci tentang cara mencocokkan seluruh URL.

Andrew M.
sumber