Nginx proxy_pass到https后端

这篇具有很好参考价值的文章主要介绍了Nginx proxy_pass到https后端。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

生成证书(自签名证书需要)

配置NGINX

官网链接


使用SSL/TLS加密,确保NGINX或NGINX Plus与上游服务器之间的HTTP流量安全。
本文解释了如何加密NGINX和上游组或代理服务器之间的HTTP流量。

生成证书(自签名证书需要)

     1. 生成自签名CA证书。

openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -sha256 -days 365 -in ca.csr -signkey ca.key -out ca.crt
  1. 生成客户端证书和密钥。
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -sha256 -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt
  1. 生成服务器证书和密钥。
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -sha256 -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

配置NGINX

http {
    #...
    upstream backend.example.com {
        server backend1.example.com:443;
        server backend2.example.com:443;
   }

    server {
        listen      80;
        server_name www.example.com;
        #...

        location /upstream {
            proxy_pass                    https://backend.example.com;
            # 连接上游服务器时,供上游服务器验证的证书
            proxy_ssl_certificate         /etc/nginx/client.pem;
            proxy_ssl_certificate_key     /etc/nginx/client.key;
            proxy_ssl_protocols           TLSv1 TLSv1.1 TLSv1.2;
            proxy_ssl_ciphers             HIGH:!aNULL:!MD5;
            # // 验证上游服务器时,使用的ca证书
            proxy_ssl_trusted_certificate /etc/nginx/trusted_ca_cert.crt;

            proxy_ssl_verify        on;
            proxy_ssl_verify_depth  2;
            # 每次连接都需要完整的ssl握手,消耗cpu较大,加上此参数,可以复用连接,减少握手次数
            proxy_ssl_session_reuse on;
            proxy_ssl_server_name  on;
            # 次参数不是太懂
            proxy_ssl_name backend.example.com;
        }
    }

    server {
        listen      443 ssl;
        server_name backend1.example.com;

        ssl_certificate        /etc/ssl/certs/server.crt;
        ssl_certificate_key    /etc/ssl/certs/server.key;
        # 验证客户端使用的CA证书
        ssl_client_certificate /etc/ssl/certs/ca.crt;
        # 开启验证客户端
        ssl_verify_client      on;

        location /yourapp {
            proxy_pass http://url_to_app.com;
        #...
        }

    server {
        listen      443 ssl;
        server_name backend2.example.com;

        ssl_certificate        /etc/ssl/certs/server.crt;
        ssl_certificate_key    /etc/ssl/certs/server.key;
        ssl_client_certificate /etc/ssl/certs/ca.crt;
        ssl_verify_client      on;

        location /yourapp {
            proxy_pass http://url_to_app.com;
        #...
        }
    }
}

官网链接

官网文档文章来源地址https://www.toymoban.com/news/detail-740380.html

到了这里,关于Nginx proxy_pass到https后端的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx】location中的root、proxy_pass和alias

    root、proxy_pass和alias都是用来配置Nginx服务器上的URL重写的指令 1.1 root指令 root :用于指定文件系统中某个目录作为请求的根目录,Nginx会在该目录下寻找请求的文件。例如: 上述配置使得访问 /images/ 目录下的资源时,Nginx会到 /var/www/images/ 目录下查找。 最后请求的路径:ro

    2024年02月10日
    浏览(43)
  • Nginx负载均衡代理proxy_set_header设置和透传https协议

    最近基于Nginx + (Nginx + PHP7)的技术生态做负载均衡,其中PHP框架使用的是ThinkPHP5,支付业务中使用了微信支付,其中有一处逻辑:获取当前请求的域名并且微信支付的回调地址 thinkRequest::instance()-domain() ,本来小程序端访问的是https协议,做了负载均衡之后,在程序中获取到的

    2024年01月25日
    浏览(43)
  • nginx 常用配置之 pass_proxy

    大家好,我是 17。 今天和大家聊聊 pass_proxy 代理。 在前端代理主要是为了跨域。虽然前端跨域有多种方法,各有利弊,但用代理来跨域对开发是最友好的。用代理可以不用修改产品代码切换线上线下,非常安全。pass_proxy 默认会把 cookie 也一同转发。 常用的配置非常简单。

    2024年02月13日
    浏览(38)
  • Nginx Proxy反向代理

    反向代理是一种网络架构,它通过将客户端的请求转发到后端服务器,并将后端服务器的响应返回给客户端,实现了客户端和服务器之间的间接通信。与正向代理不同,正向代理是代理客户端,而反向代理是代理服务器。 以下是反向代理的基本原理: 客户端发起请求: 客户

    2024年01月20日
    浏览(45)
  • Nginx Proxy!一种在 Nginx 中实现反向代理的技术

    Nginx Proxy 代理是一种在 Nginx 中实现反向代理的技术 ,它可以将Nginx Proxy 代理是一种在 Nginx 中实现 反向代理 的技术,它可以将客户端的请求转发到后端服务器,并将后端服务器的响应返回给客户端。Nginx Proxy 代理在 Web 应用程序部署、负载均衡和安全等方面 具有广泛的应用

    2024年01月20日
    浏览(51)
  • Centos配置web proxy(nginx 代理)

    Web proxy 安装Nginx组件 配置文件名为proxy.conf,放置在/etc/nginx/conf.d/目录下 为www.chinaskills.cn配置代理前端,通过HTTPS的访问后端Web服务器 后端服务器日志内容需要记录真实客户端的IP地址  缓存后端Web服务器上的静态页面 创建服务监控脚本:/shells/chkWeb.sh 编写脚本监控公司的网

    2024年01月16日
    浏览(56)
  • 【玩转Docker】【02】反向代理神器 — Nginx Proxy Manager

    一、安装 Nginx Proxy Manager 1、创建安装目录 2、这里直接用 docker 的方式安装 英文输入法下,按 “i” 按一下 esc键,然后 “:wq” 保存退出。 二、打开服务器防火墙并访问网页(非必需) 1、打开防火墙的端口 81 (添加规则:端口 81 ,备注nginxproxymanager) 2、查看端口是否被占

    2024年02月09日
    浏览(33)
  • nginx反向代理proxy_set_header说明

    用途 设定被代理服务器接收到的header信息 允许重新定义或添加字段传递给代理服务器的请求头 值可以包含文本、变量和它们的组合 没有定义时会继承之前定义的值 语法: field:变量名       value:变量值 默认值(只有两个字段被重定义):   变量$host、$http_host、$proxy_host区

    2024年02月16日
    浏览(42)
  • 反向代理神器 Nginx Proxy Manager 群晖Docker部署

    本文将使用 NginxProxyManager 中文版 介绍NginxProxyManager基于群晖Docke的部署方法,并且所有操作均在群晖网页端完成,不需要命令行操作,非常适合新手。 GitHub:xiaoxinpro/nginx-proxy-manager-zh Docker:chishin/nginx-proxy-manager-zh CSDN:NginxProxyManager 中文版简介 1. 下载映像 登录群晖后台并打

    2024年02月04日
    浏览(56)
  • Nginx使用proxy_cache指令设置反向代理缓存静态资源

    CentOS7中解压tar包的方式安装Nginx: CentOS7中解压tar包的方式安装Nginx_centos7 tar文件 怎么load_霸道流氓气质的博客-CSDN博客 参考上面流程实现搭建Nginx的基础上,实现静态资源的缓存设置。 注意上面安装时的目录是在/opt/nginx目录下,这里是在/usr/local/nginx目录下。 nginx作为一款高

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包