nginx代理普通请求、静态文件、websocket

2023-11-15

一、nginx描述

nginx是一个代理服务器,中间件

二、nginx正向代理、反向代理

三、使用原因

在维护老项目做融合时,需要将项目合并在同一项目中;因为使用了单点登录,融合的框架使用的是iframe,由于嵌入的链接地址不同源,导致iframe中登录跨域,cookie丢失。同IP不同端口是可以携带cookie的,因此决定使用nginx代理去完成。

四、相关代码解析

# 最外层,全局配置块,用于配置nginx运行中的相关操作
worker_processes  1;    #进程数  1
# 配置影响nginx服务器或与用户的网络连接等相关信息
# 通常将安装包解压后此处可以不做任何修改
events {
    worker_connections  1024; #最大连接数
}
#可以配置多个server,配置代理等相关信息。
http {
    include       mime.types; #扩展名
    default_type  application/octet-stream; #文件类型
    sendfile        on; #允许以sendfile方式传输文件  关闭为off
    keepalive_timeout  65; # 连接超时
    server {
        listen    7777; #监听的端口号
        # root otapp; #根目录
        server_name   127.0.0.1; #监听的IP地址
		
        
        location /otapp/ {  #监听普通请求     此处可解决iframe跨域登录cookie丢失问题
            proxy_hide_header X-Frame-Options;
            add_header X-Frame-Options ALLOWALL;
            proxy_pass  http://127.0.0.1:8080/otapp/; #代理地址
        }
        location /otapp/websocket { #监听websocket   此处可解决websocket代理问题
            proxy_pass http://127.0.0.1:8080/;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        #有时代理后的页面会缺失js,css等静态资源文件,可使用正则的方法重新代理这些资源
        #注:在使用正则时,代理的地址后面不可以加斜杠  /    ,在编译配置文件时会报错,通常情况下只能使用ip+端口
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)?$ { #监听静态文件的加载 例如css。png
            proxy_pass http://127.0.0.1:8080;
        }
        location ~.*\.(js|css)?$ {
            expires 12h;
            proxy_pass http://127.0.0.1:8080;
        }
        location /nginx {
            proxy_pass http://127.0.0.1:5500/test.html;
        }
    }
    #基本规则  
    #实际请求地址会将你请求的地址的ip端口替换为代理地址,一个拼接的原则

五、Nginx版本

          可官网下载nginx1.16.1,下载完成后解压,在conf=>nginx.cof文件中更改相关配置

六、三个指令

  1. 启动nginx,找到nginx.exe文件位置,打开cmd,执行nginx.exe,保持光标闪烁
  2.   在同样的位置打开第二个cmd,执行配置文件编译,nginx -s -reload,显示没有报错,即为nginx启动完成。接下来每次修改配置,只需要重新编译配置文件即可。
  3. 关闭nginx服务   nginx -s stop

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx代理普通请求、静态文件、websocket 的相关文章

随机推荐

  • 分子动力学模拟MD simulation需要注意的点有哪些

    一 GROMACS分子动力学蛋白模拟 药物开发溶剂筛选 1 分子模拟基础理论 1 1 统计力学理论概述 1 2 主要算法介绍 最速下降法 共轭梯度法 有限差分法 1 3 力场 力场类型 参数和分类 AMBER CHARMM MMX CVFF
  • 1.3 CSDN考试C1 奇偶校验

    文章目录 1 为什么数据校验 2 奇偶校验 3 练习题 3 1练习1 3 2练习2 1 为什么数据校验 数据在传输的过程中 会受到各种干扰的影响 如脉冲干扰 随机噪声干扰和人为干扰 等 这会使数据产生差错 为了能够控制 减少甚至消除传输过程
  • Linux下的硬件驱动——USB设备(下)(驱动开发部分)

    http www ibm com developerworks cn linux l usb index2 html Linux下的硬件驱动 USB设备 下 驱动开发部分 赵明 联想软件设计中心嵌入式研发处系统设计工程师 2003年7月 赵
  • python findall函数用法_Python--re模块的findall等用法

    1 正则表达式含义 点可代表一切字符 起转义作用 指代方括号中的任意字符 d 指代数字0 9 D 指代非数字 s 指代一切空格 包括tab制表符 空格 换行等 S 指代非空格 w 指代大小写字母 数字和下划线 W 指代非大小写字母 数字和下
  • 简易登录界面html+css(自学)

    页面展示 代码展示 html代码 图标使用阿里巴巴矢量图标库图标 阿里巴巴矢量图标库地址
  • 视频图像处理课程推荐(持续更新...)

    1 斯坦福大学 课程EE367 CS448I https web stanford edu class ee367 课程内容有 Introduction and fast forward overview of class logistic
  • GPIO的地址和寄存器映射

    1 GPIO详解 1 1 gpio框图 与GPIO相关的寄存器 不涉及复用 简单理解就是电灯 蜂鸣器控制等 与之相关的寄存器一共有7个 GPIOx CRL x A E 端口配置低寄存器 GPIOx CRH x A E 端口配置高寄存器 GP
  • 如何快速启动npm run build 后的dist文件呢?

    1 通过npm run build 打包后会出现如下 tips 提示我们打包完的项目 必须要在http server 下才能运行 2 安装http server 进入 dist 文件夹 然后启动一个http服务即可 或者 你现在已经到apa
  • 使用BFD操作ELF

    使用BFD操作ELF 创建时间 2001 09 21 文章属性 原创 文章来源 http www xfocus org 文章提交 alert7 sztcww at sina com 使用BFD操作ELF 作者 alert7
  • Python计算Arduino声音方向范围和绘制声音位置二维概率分布热图

    声音检测和测距有许多与回声定位 导航和地理定位相关的应用 所有这些都依赖于使用声音延迟准确定位声源的位置 在这项研究中 我们组装了一个设备 该设备可以利用声音到达时间的差异来精确定位声源的位置 它由连接到 Arduino 电路板的三个声音传
  • 1052 卖个萌 (20 分)

    1052 卖个萌 20 分 萌萌哒表情符号通常由 手 眼 口 三个主要部分组成 简单起见 我们假设一个表情符号是按下列格式输出的 左手 左眼 口 右眼 右手 现给出可选用的符号集合 请你按用户的要求输出表情 输入格式 输入首先在前三行顺序对
  • thinkphp S缓存在服务器上可以写入,但是无法读取

    在Linux服务器上S可以正常写入 但无法读取出来 原来是nobody权限问题 发下文件的用户和组都是nobody导致无法读取 S的File class php里面的读取方法调用file get contents时无法读取文件出来
  • Python下ImportError: DLL load failed: 找不到指定的模块

    环境 Anaconda3 Python3 7 scarpy1 5 版本似乎都能对的上 但是在cmd下报错 如下截图 从以上错误来看 应该是lxml包有异常 pip uninstall lxml包 然后 pip install lxml包 完
  • 2012.8.28 阿里巴巴电话面试

    半个小时左右的电话面试 问题不是太难 算法和数据结构是薄弱环节 1 现在主要在做什么研究 做过的项目介绍和在其中担任的职责 2 问语言方向 是否做过相关的工作 3 是否了解linux系统 在系统中都做过什么 用什么编译器 4 数据结构中 栈
  • Android开源项目网址

    1 http p codekk com 2 https github com Trinea android open project tree master
  • 自动控制原理笔记(3)——线性系统的稳定性

    文章目录 前言 线性系统的稳定性 线性系统的稳定性分析 线性系统的稳态误差计算 误差系数 减小稳态误差 前言 汇总版在这篇文章 自动控制原理上课笔记 线性系统的稳定性 线性系统的稳定性分析 线性系统的稳定性仅取决于系统自身的固有特性 而与外
  • (openEuler21.03-x86)yum安装配置nginx解析php—shell脚本

    EulerOS是华为自主研发的服务器操作系统 能够满足客户从传统IT基础设施到云计算服务的需求 EulerOS对ARM64架构提供全栈支持 打造完善的从芯片到应用的一体化生态系统 EulerOS 以Linux稳定系统内核为基础 支持鲲鹏处理
  • resnet18_deploy

    ResNet 18 deploy prototxt name ResNet 18 layer name data type Input top data input param shape dim 10 dim 3 dim 224 dim
  • 详解二分搜索

    https www cnblogs com kyoner p 11080078 html
  • nginx代理普通请求、静态文件、websocket

    一 nginx描述 nginx是一个代理服务器 中间件 二 nginx正向代理 反向代理 三 使用原因 在维护老项目做融合时 需要将项目合并在同一项目中 因为使用了单点登录 融合的框架使用的是iframe 由于嵌入的链接地址不同源 导致if