当 URL 中存在哈希时,Nginx 的位置和 proxy_pass 会丢失请求

当 URL 中存在哈希时,Nginx 的位置和 proxy_pass 会丢失请求

我有这个配置

server {
  listen 8080;
  access_log  /var/log/nginx/access.log;
  root        /usr/share/nginx/htdocs;
  index       index.html index.htm;
  port_in_redirect off;

  location /somepath/ {
      proxy_pass http://someinternalserver/somepath/;
  }

  location /health {
    return 200;
  }
}

当我像这样访问它时,http://我们的外部-fqdn/somepath/有用。

但是,当我像这样访问它时,http://我们的外部-fqdn/somepath/#我被重定向到我们的本地开发设置,即http://本地主机:8000

我错过了什么?

答案1

您指定的是确切的 URL,而不是正则表达式。试试这个

location ~* /somepath/ {
  proxy_pass http://someinternalserver/somepath/;
}

如果不起作用,请 curl(使用 show headers,选项是 -DI think)URL 查看发生了什么,或者使用带有“Live HTTP Headers”的 Firefox。将该请求的输出与您的访问日志一起发布。

相关内容