Nginx 请求代理和 node请求代理

nginx:

    server {
        #SSL 默认访问端口号为 443
        listen 443 ssl; 
        server_name  gpt.xutongbao.top;
        ssl_certificate         /temp/ssl/gpt.xutongbao.top/gpt.xutongbao.top.crt;   # nginx的ssl证书文件
        ssl_certificate_key     /temp/ssl/gpt.xutongbao.top/gpt.xutongbao.top.key;  # nginx的ssl证书验证密码


        #配置根目录
        location / {
            #root   html;
            root    /temp/yuyingGpt;
            index  index.html index.htm;
            add_header Content-Security-Policy upgrade-insecure-requests;

        }

        # 匹配cdn开头的请求,实际转发的请求去掉多余的cdn这三个字母
        location ^~/cdn/ {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://hlzc-static.xutongbao.top/;
        }

        # 匹配api开头的请求,实际转发的请求保api这三个字母
        location /api/ {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-NginX-Proxy true;
            proxy_pass http://yuying-api.xutongbao.top;
        }
    }  

node:

const { createProxyMiddleware } = require('http-proxy-middleware')

module.exports = function (app) {
  //通过代理解决跨域
  app.use(
    '/zlhx',
    createProxyMiddleware({
      //target: 'http://test-zhiliao.gongzuoshouji.cn',
      target: 'http://api-zlhx.gongzuoshouji.cn',
      changeOrigin: true,
    })
  )
  //匹配api开头的请求,实际转发的请求保api这三个字母
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:85',
      changeOrigin: true,
    })
  )
  //匹配sslCnd开头的请求,实际转发的请求去掉多余的sslCnd这六个字母
  app.use(
    '/sslCnd',
    createProxyMiddleware({
      target: 'http://cdn.xutongbao.top',
      changeOrigin: true,
      pathRewrite: {
        "^/sslCnd": ""
      }
    })
  )
}

一、什么是Nginx?

Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3/SMTP)代理服务器。Nginx的特点是:占有内存少,并发能力强。

Nginx专门为性能优化而开发,性能是最重要的考量,非常注重效率,事实上Nginx的并发能力在同类型的网页服务器种表现较好,能够支持高达50000个并发连接响应数。

概念:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。

反向代理,其实对于客户端来说,对代理是无感知的,因为客户端不需要任何配置就可以访问。

过程:反向代理时,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,将数据返回给客户端,此时反向代理服务器和目标服务器在外界看来就是一个服务器,暴露的是代理服务器,隐藏了真实服务器的IP地址。

参考链接:

https://chat.xutongbao.top/

你可能感兴趣的:(web前端,nginx,运维)