ຮັກສາເສັ້ນທາງທີ່ຖືກເຂົ້າລະຫັດໃນເສັ້ນທາງສົ່ງຕໍ່ HTTP ຂອງ NGINX ທີ່ມີຢູ່ແລ້ວ
ໃຊ້ request_uri ເມື່ອສັນຍາການສົ່ງຕໍ່ຕ້ອງການເສັ້ນທາງ ແລະ ຄຳຖາມເດີມ, ໂດຍຮັກສາການກວດສອບປາຍທາງທີ່ມີຢູ່.
ເສັ້ນທາງທີ່ສ້າງຈາກ $uri ອາດສົ່ງເສັ້ນທາງທີ່ແຕກຕ່າງຈາກທີ່ລູກຄ້າໄດ້ໃຫ້ໄວ້. ສຳລັບ http://service.example/files/a%2Fb?view=raw, ເຄື່ອງໝາຍທັບທີ່ຖືກ escape ແມ່ນສ່ວນໜຶ່ງຂອງການສະກົດເດີມນັ້ນ.
| ຕົວແປ | ການເປັນຕົວແທນ |
|---|---|
| $uri | URI ປົກກະຕິປັດຈຸບັນ, ເຊິ່ງອາດປ່ຽນໄດ້ໃນລະຫວ່າງການປະມວນຜົນພາຍໃນ |
| $request_uri | URI ເດີມຂອງຄຳຮ້ອງ, ລວມທັງອາກິວເມັນຄຳຖາມ |
ໃນການຈັດວາງ proxy ສົ່ງຕໍ່ HTTP ທີ່ມີຢູ່ແລ້ວ ເຊິ່ງເລືອກ ແລະ ກວດສອບອຳນາດປາຍທາງຢູ່ແລ້ວ, ເສັ້ນທາງ ແລະ ຄຳຖາມເດີມສາມາດຮັກສາໄດ້ດ້ວຍ:
proxy_pass http://$http_host$request_uri;$http_host ໃຫ້ອຳນາດຫົວຂໍ້ Host ທີ່ເລືອກໃນການຈັດວາງນີ້. ຮັກສາຂໍ້ຈຳກັດລູກຄ້າຂອງຜູ້ຮັບຟັງ, ນະໂຍບາຍປາຍທາງ ແລະ ການຕັ້ງຄ່າແກ້ໄຂຊື່.
ການແທນ $uri$is_args$args ດ້ວຍນິພົດນີ້ປ່ຽນການເປັນຕົວແທນທີ່ສົ່ງ; ອັນກ່ອນໃຊ້ເສັ້ນທາງປົກກະຕິ ແລະ ອາກິວເມັນປັດຈຸບັນ. ເລືອກຕາມສັນຍາຂອງຈຸດສຸດທ້າຍ, ໂດຍສະເພາະເມື່ອຕົວແຍກທີ່ຖືກ escape ມີຄວາມສຳຄັນ ຫຼື ລາຍເຊັນກວມເອົາເປົ້າໝາຍເດີມ. ການຂຽນເສັ້ນທາງຄືນໂດຍເຈດຕະນາ ມີຂໍ້ກຳນົດຕ່າງກັນ.
ນີ້ໃຊ້ກັບຄຳຮ້ອງ HTTP ທີ່ເຫັນໄດ້. ອຸໂມງ HTTPS CONNECT ສົ່ງຄຳຮ້ອງຕໍ່ໄປພາຍໃນ TLS ແລະ ຕ້ອງການການຈັດການທີ່ຮອງຮັບຂອງຕົນເອງ.