目录

  • 前言
  • 正文
  • 结尾

前言

后端开发的小伙伴经常会用到 nginx 工具,那么我们不禁要问:它具体的作用是什么呢?今天我们就来通过一个实例来搞清楚!

正文

整件事情经过是这样的,自己开发了一个服务,对外接口都是 http 协议的。但是部署的时候,其他的服务都是 https 的,特别是 web 页面也是 https 的,为了避免 https 协议和 http 协议混合使用导致的浏览器告警和错误。因此,需要想办法处理一下。

这里提一个问题,如果是你,你会怎么处理呢?

是不是也会想到使用 nginx,或者自己重新封装对应的 https 的接口。两种方式各有利弊,第一种方式的优势是不需要修改代码,可以在部署的时候,通过使用 nginx 灵活设置。缺点是服务本身不支持 https 协议,需要配合 nginx 使用;第二种方式的优势是服务同时支持 http 协议和 https 协议,功能更加强大,但是缺点也非常明显,需要修改代码,有一定开发的工作量。

权衡利弊之后,特别是考虑到时间因素,因此暂定使用第一种方案,通过配置 nginx 来实现。

下面列出自己的 nginx 配置文件内容,便于大家参考:

upstream bag-api {server 47.4.5.13:9905;
}upstream minio-api {server 47.4.5.13:9002;
}server {listen 80;server_name 47.4.5.13;rewrite ^ https://$http_host$request_uri? permanent;
}server {listen       443 ssl ;ssl_certificate /etc/nginx/certs/service.cert;ssl_certificate_key /etc/nginx/certs/service.key;ssl_session_timeout 5m;ssl_session_cache    shared:SSL:10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;ssl_prefer_server_ciphers on;server_name 47.4.5.13 lozen.007.cn;access_log logs/vhost_access.log  ;error_log  logs/vhost_error.log;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $remote_addr;location ^~ /bag {expires -1;proxy_pass http://bag-api;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}location ^~ /test {expires -1;proxy_pass http://minio-api;proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
}
复制代码

通过上面的配置,我们可以知道我们一共配置了两种策略,当有 https 协议请求匹配到 bag 或者 test 字段时,会分别跳转对应 http 协议接口。从而实现 https 协议到 http 协议的互相转化,满足我们开头提到的需求。

结尾

本文介绍的方法本质上是利用了 nginx 反向代理的功能,通过这个实例,我们也可以看到 nginx 功能的强大。因此,从事后端开发小伙伴是非常有必要掌握 nginx 使用方法的,通过这件事,我也对 nginx 的反向代理功能有了新的理解和认识。

作者简介:大家好,我是 Data-Mining(liuzhen007),是一位音视频技术爱好者,同时也是CSDN博客专家、华为云社区云享专家,欢迎关注我分享更多干货!

重新认识 nginx 反向代理相关推荐

  1. nginx反向代理原理及配置详解

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  2. nginx 反向代理,动静态请求分离,proxy_cache缓存及缓存清除

    一,nginx反向代理配置 #tomcat 显然就是用户访问www.wolfdream.com(需要设置本地localhost,将www.wolfdream.com指向nginx所在IP)的时候(或将 ...

  3. nginx反向代理原理讲解

    一 .概述                  反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器:并将从服务器上得到的结果 ...

  4. 懂点 Nginx 反向代理与负载均衡,是面试加分项没有之一

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 学到老活到老 前端圈一直很新,一直要不停的学习,而且在进入大厂的路上,还要求熟悉一门后台语言等等 ...

  5. Nginx——反向代理

    通过Nginx来实现反向代理,具体配置实例如下所示: 一.反向代理实例一 1.目标 在浏览器地址栏输入www.test.com,可跳转到linux系统tomcat的主页面中. 2.前置工作 (1)在l ...

  6. nginx反向代理,负载均衡

    nginx 反向代理(Reverse Proxy)是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户 ...

  7. Nginx反向代理以及负载均衡配置

    一 .nginx 的优缺点: nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则 ...

  8. 配置nginx反向代理jira并实现https

    摘要: 配置nginx反向代理jira并实现https 配置Tomcat 在本文中,我们设置可以在地址http://jira.aniu.so/jira(标准HTTP端口80)上访问JIRA,而JIRA ...

  9. nginx 反向代理 apache 服务

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...

  10. nginx学习总结五(nginx反向代理)

    nginx学习总结五(nginx反向代理)                             2011-02-28 12:59:33标签:反向代理nginx负载均衡            原创作 ...

最新文章

  1. 带有128KB缓存的AD7606模拟采集板
  2. linux centos7 替换yum源
  3. 一文读懂Faster R-CNN目标检测
  4. Eclipse下配置struts很让我痛苦
  5. NPM useful library path: request.js
  6. java 重写session_关于session的实现:cookie与url重写
  7. 黑马程序员___Java基础[04-继承和多态]
  8. 《我在谷歌大脑见习机器学习的一年:Node.js创始人的尝试笔记》阅读笔记
  9. 小白都能了解的聚类算法之四(谱聚类)
  10. 在不损坏硬盘数据情况下,MBR格式转GPT格式,手动创建EFI和MSR分区,安装win8/win10
  11. 如何旋转PDF的页面方向?教你2种方法
  12. 男生女生,呸,男生女生呸铃声 男生女生,呸,男生女生呸手机...
  13. SCPC :普普通通的DP(位运算)
  14. 自媒体常用小程序:去水印、配音、文案提取
  15. 搭建腾讯云通用文字识别General OCR项目及代码部署图文教程
  16. 【知识产权基础】北邮国际学院大三下期末复习
  17. MyBatis-第三章 动态SQL
  18. Allure 安装及使用
  19. PTA题目 谁是赢家
  20. 怎么搭建一个C语言的开发环境?

热门文章

  1. 翻译:RxSwift的历史以及概念详细解析
  2. 用Unity做第一人称射击游戏
  3. 微信二手商城产品prd文档
  4. GDAL多光谱与全色图像融合简单使用
  5. 深度分析:Android4.3下MMS发送到附件为音频文件(音频为系统内置音频)的彩信给自己,添加音频-发送彩信-接收彩信-下载音频附件-预览-播放(三,接收彩信2,下载彩信)
  6. 计算机检测维修与数据恢复远程在线教学进行中
  7. 小额贷款机构该如何引入大数据
  8. 设计模式-简单工厂模式(SimpleFactory)
  9. 西门子PLC S7-200cn和S7-200 smart 设备锁机程序 ,有动态验证码,无限次加密
  10. base64加密解密和json处理