当前位置: 代码网 > 服务器>服务器>Linux > nginx做代理转发前端请求到后端的代码示例

nginx做代理转发前端请求到后端的代码示例

2025年01月23日 Linux 我要评论
nginx 作为反向代理服务器可以很好地处理代理转发的请求,它能够将客户端的请求转发到后端服务器,并将后端服务器的响应返回给客户端(避免直接向后端发送请求,隐藏后端服务器地址)。下面介绍如何配置 ng

nginx 作为反向代理服务器可以很好地处理代理转发的请求,它能够将客户端的请求转发到后端服务器,并将后端服务器的响应返回给客户端(避免直接向后端发送请求,隐藏后端服务器地址)。下面介绍如何配置 nginx 进行代理转发,进行基础配置。

用docker构建nginx镜像时的配置文件举例,在对应的配置文件的代码块添加/api

http

server {
        listen 80;  # 监听端口

        server_name your-domain.com;  # 服务器域名或ip

        location /api {
            proxy_pass http://backend-server:8080;  # 代理转发地址
            proxy_set_header host $host;  # 转发头部,保留原始主机名
            proxy_set_header x-real-ip $remote_addr;  # 转发客户端真实ip
            proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;  # 转发原始 ip 地址
            proxy_set_header x-forwarded-proto $scheme;  # 转发协议(http/https)
        }

        location / {
            # 处理其它请求(如静态文件等)
            root /var/www/html;  # 指定根文件夹
            index index.html index.htm;
        }
    }

https 

server {
    listen 443 ssl;  # 监听 https
    server_name your-domain.com;

    ssl_certificate /etc/ssl/certs/your-certificate.crt;  # ssl 证书路径
    ssl_certificate_key /etc/ssl/private/your-private-key.key;  # ssl 私钥路径

    location /api {
        proxy_pass http://backend;  # 代理转发地址
        proxy_set_header host $host;
        proxy_set_header x-real-ip $remote_addr;
        proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
        proxy_set_header x-forwarded-proto $scheme;
    }
}
  • proxy_pass:指定请求转发的目标地址,可以是 url 或者上游主机组。
  • proxy_set_header:设置转发头,通常用来传递客户端的真实 ip 和协议等信息。
  • upstream:定义一个上游服务器组,在负载均衡的情况下使用。

为了更好地监控和调试过程,可以在 nginx 配置中添加访问和错误日志:

http {
    access_log /var/log/nginx/access.log;  # 访问日志路径
    error_log /var/log/nginx/error.log;    # 错误日志路径
}

总结

到此这篇关于nginx做代理转发前端请求到后端的文章就介绍到这了,更多相关nginx转发前端请求到后端内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • Linux编译器--gcc/g++使用方式

    一、预编译指令1.1预处理功能去掉注释头文件的展开条件编译宏替换1.2指令预处理指令是以#号开头的代码行gcc下使用:gcc -e code.c -o code.i 来生成可执行文…

    2025年02月08日 服务器
  • Linux文件重定向&&文件缓冲区解读

    一、c文件接口stdin & stdout & stderrc默认会打开三个输入输出流,分别是stdin, stdout, stderr仔细观察发现,这三个流的类型…

    2025年02月08日 服务器
  • 在Linux服务器上部署War项目教程

    在Linux服务器上部署War项目教程

    linux服务器上部署war项目1.将war包上传到linux服务器上可以使用ftp或sftp等工具。2.确认服务器上已经安装了java运行环境如果没有安装可以... [阅读全文]
  • Linux部署jar包过程

    Linux部署jar包过程

    linux部署jar包部署jar包需要注意:linux和你jar的jdk中的版本一定要是一致的需要导入打包的插件,这样我们的jar包才是可运行的数据库的密码大概... [阅读全文]
  • Nginx 日志格式的实现

    Nginx 日志格式的实现

    引言nginx 作为一个高效的 web 服务器,广泛用于静态内容的服务、反向代理、负载均衡等场景。日志记录是服务器管理和监控中至关重要的一部分,nginx 提供... [阅读全文]
  • Nginx与Tomcat之间的关系及说明

    Nginx与Tomcat之间的关系及说明

    nginx 和 tomcat 都是现代 web 应用架构中常用的组件,它们在一起通常用于高性能的 web 服务、负载均衡和反向代理等场景中。虽然它们的功能有所重... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com