nginx反向代理解决打前端项目打包环境下https与http混用的问题

前言:最近在处理http和https前端混用的时候需要用到反向代理,在nginx中设置反向代理需要编辑nginx的配置文件(一般是nginx.conf或者sites-available目录下的配置文件)。具体步骤如下:

  1. 打开nginx的配置文件,不同的安装方式可能位置有差异。

    复制代码
    vim /etc/nginx/nginx.conf
  2. http块中添加一个server块来定义反向代理服务器。

    复制代码
    server {
         listen       8081 ssl http2;
         listen       [::]:8081 ssl http2;
         server_name  _;  #这里可以替换成服务器域名your-domain.com
         
         ... #其他设置
         
         #>>>设置代理
         location ^~/api/ {
             proxy_pass  http://192.168.10.1:8088/;  #backend-server
         }
         #<<<设置代理
         
         #>>>https设置
         ssl_certificate "/etc/pki/nginx/ssl.crt";
         ssl_certificate_key "/etc/pki/nginx/private/ssl.key";
         client_max_body_size 10m;
         ssl_session_cache shared:SSL:1m;
         ssl_session_timeout  10m;
         ssl_ciphers HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers on;
         #<<<https设置
         
         ...#其他设置
    }
  3. 保存并退出文件。

  4. 在我的测试环境centOS7.9中需要重新加载nginx配置文件以生效。在windows环境下注意结束掉所有的nginx进程然后重启nginx.exe以生效。

    复制代码
    #centOS7.9
    nginx -s reload
    
    #windows
    可以使用任务管理器关闭
  5. 现在,当你访问your-domain.com时,nginx会将请求转发到backend-server上,如:当前端请求为"https://192.168.9.99:8081/api/test"的接口时,请求将被转发到"http://192.168.10.1:8088/test"。并将响应返回给客户端。

请注意,上述示例中的配置是基本的反向代理配置。根据你的需求,你可能还需要进行其他配置,例如添加SSL证书、缓存、限速等。具体的配置取决于你的应用程序和服务器环境。

相关推荐
艾iYYY2 分钟前
Linux基础操作指令
linux·运维·服务器
亚川楼宇自控系统数据中心厂家31 分钟前
数据中心电力监控与供配电体系规避电力运行风险
运维
单线程1213833 分钟前
从案例分析 Vue3 Tokenizer 源码
前端·javascript·vue.js
明月_清风36 分钟前
🖥️ Electron 三进程 Host 实战:从架构设计到生产落地的完整指南
前端·electron·客户端
GIS数据转换器1 小时前
智慧林草“一张图“平台
java·大数据·服务器·前端·javascript·数据库·人工智能
2401_885885041 小时前
国际语音php接口代码示例:PHP使用cURL快速调用语音发送API
android·开发语言·前端·人工智能·python·php·语音识别
leoZ2311 小时前
AI+前端提效-08 AI自动化文档:前端组件、接口、项目文档自动生成
前端·人工智能·深度学习·神经网络·目标检测·自然语言处理·自动化
霸道流氓气质1 小时前
运维补偿接口的设计与实现:模式、形态与通用示例
运维
智恒百亿1 小时前
5090八卡服务器整机技术解析与部署常见问题(FAQ)
运维·服务器
lilian2331 小时前
HarmonyOS 7 新特性(五)|ContainerReader 容器断点与自适应布局
前端·华为·harmonyos