Nginx 代理配置详解:/service/ 路径代理到后端服务

以下代码段展示了 Nginx 代理配置中 location /service/ { ... } 块的示例,用于将匹配以 /service/ 开头的 URL 请求代理到后端服务:

location /service/ {
  proxy_pass http://core/service/;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  # 当在其他代理(例如 Nginx 实例)后面设置 Harbor 时,如果代理已经具有类似的设置,请删除以下行。
  #proxy_set_header X-Forwarded-Proto $scheme;

  proxy_buffering off;
  proxy_request_buffering off;
}

解释每一行代码:

  1. location /service/ {:表示匹配以 /service/ 开头的 URL,即将该路径下的请求代理到后端服务。
  2. proxy_pass http://core/service/ ;:表示将请求转发到 http://core/service/,其中 core 是后端服务的主机名或 IP 地址。
  3. proxy_set_header Host $host;:设置代理请求头中的 Host 字段为当前请求的主机名。
  4. proxy_set_header X-Real-IP $remote_addr;:设置代理请求头中的 X-Real-IP 字段为客户端的真实 IP 地址。
  5. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;:设置代理请求头中的 X-Forwarded-For 字段为客户端 IP 地址和前面的代理服务器 IP 地址,用逗号分隔。
  6. proxy_set_header X-Forwarded-Proto $scheme;:设置代理请求头中的 X-Forwarded-Proto 字段为当前请求的协议类型(http 或 https)。
  7. proxy_buffering off;:禁用缓冲,使代理服务器立即将后端服务器的响应发送给客户端,而不是先缓存一段时间再发送。
  8. proxy_request_buffering off;:禁用请求缓冲,使客户端发送请求时,代理服务器立即将请求转发给后端服务器,而不是等待一段时间再转发。

注意:

  • 代码中的 # 符号表示注释,不会被执行。
  • proxy_set_header X-Forwarded-Proto $scheme; 这一行代码通常在 Nginx 作为反向代理,并且前端使用 HTTPS 时需要添加。如果使用其他代理,并且该代理已经添加了类似的设置,则可以删除这行代码。

通过以上配置,Nginx 可以将匹配 /service/ 路径的请求代理到后端服务 core 上,并设置相应的请求头信息,保证后端服务能够正常接收和处理请求。

Nginx 代理配置详解:/service/ 路径代理到后端服务

原文地址: https://www.cveoy.top/t/topic/j9IB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录