​之前为了方便同事测试微信小程序,搭建了基于CentOS的预发布环境,.Net5 程序也已经部署好在上面,在公网上可以通过http协议的临时域名(jevonsflash.xxx.net)访问到后台Api。

然而小程序的正式线上版本,只可以跟指定的域名进行网络通信,且域名只支持 https,wss通信协议,因此需要配置预发布环境的反向代理服务。

访问路由如下:

一. 准备工作

1. 域名规划

首先确定网站的业务都有哪些子系统,各个子系统可以划分出不同的域名前缀,组成接口地址或者页面地址,以顶级域名matoapp.net为例常见的划分方式有:

www.matoapp.net:主站网址,www 是万维网 World Wide Web的简称;

m.matoapp.net: 移动端站点,m是mobile的缩写;

res.matoapp.net: 静态资源地址,用于存放网站icon,banner图片等静态资源,res是resources的缩写;

api.matoapp.net: 后端接口地址。

其他业务:

im.matoapp.net: 即时通信服务地址,im为即时通信Instant Messaging;

blog.matoapp.net: 博客站点地址;

mail.matoapp.net:通常用于解析邮箱服务器。

等等..

2. 配置域名解析

在域名提供商的管理页面中需要配置主机记录值,以阿里云为例

将各前缀填写到主机记录值并解析到反向代理服务器的公网ip地址:

填写规则:

@:直接解析主域名 aliyun.com。

*:泛解析,匹配其他所有域名 *.aliyun.com。

二级域名:如:abc.aliyun.com,填写abc。

二. 配置Nginx

1. 配置SSL证书

进入阿里云数字证书管理服务/SSL 证书

找到对应的Nginx- 下载

下载后解压缩得到这两个

2. 配置业务服务

后端Api:

IM即时通信服务:

其他业务服务配置省略了,根据地址配置server_name字段,根据各业务请求要求配置location字段。

然后运行重新加载命令

nginx -s reload

3. 配置反向代理服务

反向代理服务器中建立目录/etc/pki/nginx/以存放ssl证书 ,并赋予读写权限

sudo mkdir /etc/pki/nginx/
sudp chmod 777 /etc/pki/nginx/

将解压后的两个文件上传至/etc/pki/nginx/目录

打开配置文件:etc/nginx/nginx.conf,添加如下内容:

后端Api地址转发:

IM即时通信服务地址转发:

其他反向代理服务配置省略了,根据地址配置server_name字段,根据各业务请求要求配置location字段。

proxy_pass字段为业务服务器地址

然后运行重新加载命令

nginx -s reload

4. 配置七牛云对象存储服务

在阿里云域名解析中,添加一条记录类型为CNAME的值,指向七牛云对象存储的实例地址

再配置七牛云ssl访问证书

三. 测试

在任意终端浏览器测试服务是否畅通:

https://api.matoapp.net/

https://im.matoapp.net/

https://res.matoapp.net/

可以看到请求已经转发到各业务服务器中,并返回正确的数据了

至此配置完成

[学习笔记] Linux 环境下搭建基于Ngnix的反向代理服务的更多相关文章

  1. [学习笔记]Linux环境下部署 .Net5 程序

    ​公司的项目需要部署到一台公网的linux服务器,以便同事们测试小程序. 目标服务器是新搭建的CentOS 8虚拟机,以非docker的方式部署.现记录过程便于日后部署至项目甲方的服务器上,因为甲方的 ...

  2. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  3. ​Linux环境下搭建禅道管理工具-包含软件资源

    ​Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操 ...

  4. linux环境下搭建环境发布web项目

    在公司真是学习了一下项目环境在linux下搭建和发布的过程,这是每个程序员都应该掌握的一个技能,将整理下为以后温习用,也乐于和为掌握这些技能的猿分享: 这里主要分为5部分:1.安装jdk,并配置环境变 ...

  5. Linux环境下搭建Tomcat+mysql+jdk

    Linux环境 1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统. 2.下载一个centos安装包,linux版 ...

  6. 在Linux环境下搭建Tomcat+mysql+jdk环境

    按照下面的步骤一步一步来搭建tomcat+jdk+mysql环境.   [Linux环境]------我搭建的是64位centos版本的linux系统 1.下载并安装一个VMware workstat ...

  7. Windows和Linux环境下搭建SVN服务器

    --------------------------Windows下搭建SVN服务器----------------------------- 一.安装SVN服务端 软件包Setup-Subversi ...

  8. linux环境下搭建MySQL

    linux下搭建mysql的方式很多,网上也详解了很多种搭建方式,有直接yum的.有rpm的..总之,“坑”是层出不穷,有相关文件依赖性.权限.GPG keys等等. 本人也在今天搭建了一下.是出“坑 ...

  9. Ubuntu16.04环境下搭建基于三台主机的mysql galera cluster集群(实测有效)

    (注意: (1)文中红色字体部分不一定需要操作 (2)由于word文档编辑的原因,实际操作时部分命令需要手动输入!!直接复制粘贴会提示错误!! ) 一  搭建环境: 1 Ubuntu16.04版本(系 ...

  10. Linux环境下搭建测试环境(LAMP详细说明)

    一.安装虚拟机与CentOS7 传送门:https://www.cnblogs.com/mrgavin/p/9372393.html 注意:以下安装,我都是用的root权限. 二.安装Apache1. ...

随机推荐

  1. 进程状态|操作系统|什么是pcb|什么是僵尸进程 |什么是孤儿进程 【超详细的图文解释】【Linux OS】

    说在前面 今天给大家带来操作系统中进程状态的详解. 本篇博主将通过从进程状态的广泛概念,深入到Linux操作系统详细的一些进程状态.在解释进程状态的过程中,博主还会穿插一些操作系统一些重要概念!本篇干 ...

  2. PVE上启用Intel核显的SR-IOV vGPU

    介绍 Intel SR-IOV vGPU是一种硬件虚拟化技术,它允许多个虚拟机共享单个物理GPU,而不会降低性能.SR-IOV定义了一种标准方法,通过将设备分区为多个虚拟功能来共享物理设备功能.每个虚 ...

  3. 零基础入门Vue之To be or not to be——条件渲染

    温故 上一节:零基础入门Vue之皇帝的新衣--样式绑定 在前面的内容能了解到,Vue不仅仅能进行数据渲染还可以对样式进行绑定 并且他能随意的切换样式,但Vue的初衷就是尽量少让使用者操作dom节点 加 ...

  4. Navicat 15 for MySQL 破解【我亲测可用】

    1.去官网下载正版 https://www.navicat.com.cn/ 2.破解下载:https://files-cdn.cnblogs.com/files/del88/NavicatKeygen ...

  5. NEMU PA 2-1 实验报告

    课程地址:https://www.bilibili.com/video/BV1TE411P7tq 一.实验目的 通过PA2-0了解了汇编基础知识和如何去阅读i386手册后,在这个阶段我们就需要: 了解 ...

  6. SATA 中ATA与AHCI的区别

    SATA中ATA和AHCI有什么区别?   1.ACHI是针对SATA2设计的,可以卡其NCQ功能,表面上没有速度的优势,但是因为算法不同,可以有效的保护硬盘.ATA 是硬件模拟IDE的一种方法.表面 ...

  7. Event对象

    Event对象 Event对象表示在DOM中出现的事件,在DOM中有许多不同类型的事件,其主要使用基于Event对象作为主接口的二次接口,Event对象本身包含适用于所有事件的属性和方法. 描述 事件 ...

  8. Python之密码生成器

    介绍 这段程序用来随机批量生成一批安全性相对较高的密码,要了解你当前使用的密码强度到底如何? 可以试一下这个网站: https://howsecureismypassword.net/ 他会告诉你计算 ...

  9. 掌握云容器网络:何为ipvs

    本文分享自华为云社区<[理解云容器网络]2-基础篇-ipvs介绍>,作者: 可以交个朋友. IPVS简介 ipvs是工作在Linux内核态的4层负载均衡:和用户态的负载均衡软件(如ngin ...

  10. 【Android 逆向】【攻防世界】app1

    1. apk安装到手机, 老套路了 2. jadx打开 this.btn.setOnClickListener(new View.OnClickListener() { // from class: ...