nginx位置空路径

xzlaal3s  于 2022-12-03  发布在  Nginx
关注(0)|答案(1)|浏览(250)

我尝试定义一个nginx服务器配置如下,但确切的位置从来没有被触发,只有一般的路径被触发。所以,响应头总是Access-Control-Allow-Origin。我想要的是,当我访问“curl -v localhost:8081”时,它应该只返回XYZ头,因为它是完全匹配的,但它返回的是一般的。我做错了什么?

  1. server {
  2. listen 8081;
  3. server_name localhost;
  4. #index index.html;
  5. root /usr/share/nginx/wallet;
  6. location / {
  7. try_files $uri /index.html /example.html =404;
  8. add_header Access-Control-Allow-Origin *;
  9. }
  10. location = / {
  11. add_header XYZ "xyxxxxxxxxxxxxx";
  12. }
  13. }
sycxhyv7

sycxhyv71#

精确匹配位置是处理请求的第一个位置,但不是处理请求的最后一个位置。
Nginx在内部将URI重写为/index.html,并在通用位置块中处理此新请求。
通过添加try_files语句,可以强制Nginx在完全匹配的位置处理整个请求。
例如:

  1. location = / {
  2. try_files /index.html =404;
  3. add_header XYZ "xyxxxxxxxxxxxxx";
  4. }

相关问题