​之前为了方便同事测试微信小程序,搭建了基于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. js下载附件(文件时候),文件名一直不出现乱码

    if (lastUrl.name) { //我们后端很奇怪有时候是个对象属性,有时候是个string window.open(url + `?attname=${lastUrl.name}`); } ...

  2. 【二】最新多智能体强化学习文章如何查阅{顶会:AAAI、 ICML }

    相关文章: [一]最新多智能体强化学习方法[总结] [二]最新多智能体强化学习文章如何查阅{顶会:AAAI. ICML } [三]多智能体强化学习(MARL)近年研究概览 {Analysis of e ...

  3. DbgridEh 导出 Excel 如果字段长度超过255会截断,那如何导出,另一种神奇的方法

    由于DbgridEh 导出 Excel 如果字段长度超过255会截断,所以必须换一种方法来导出,百度  谷歌 看了上百帖,都是有这句: xlApp := CreateOleObject('Excel. ...

  4. ThinkPHP 6.0 SQL注入漏洞修复

    公司买的官网被政府网安检测出SQL注入漏洞: 隐患描述 SQL漏洞证明语句: python3 sqlmap.py -u "http://xxxx?keywords=1" -p ke ...

  5. CentOS7.5上Oracle19c离线rpm安装

    CentOS7.5上Oracle19c离线rpm安装 一.基础环境配置及依赖安装(1)关闭系统防火墙(如外网环境不能关闭防火墙自行开放相关需要使用的端口即可) systemctl stop firew ...

  6. 使用memoizee缓存函数提升性能,竟引发了indexOf的性能问题

    壹 ❀ 引 公司前端组基本每个月会举行一次前端月会,用于做前端组基础设施以及其它重要信息的同步,会议最后一个环节就会分享本月前端同学在开发中所遇到的奇怪bug,或者一些有趣的问题.在分享的问题中,我发 ...

  7. The Missing Semester - 第五讲 学习笔记

    第五讲 命令行环境 课程视频地址:https://www.bilibili.com/video/BV1Dy4y1a7BW 课程讲义地址:https://missing-semester-cn.gith ...

  8. Codeforces Round #847 (Div. 3) A-G

    比赛链接 A 题意 判断输入字符串与 \(\pi\) 的最长前缀匹配,不超过 \(30\) 位. 题解 知识点:模拟. 抄样例最后一个 \(30\) 都正确的,直接匹配. 时间复杂度 \(O(1)\) ...

  9. nginx新增conf文件

    说明 最近租了一台美国vps,通过nginx反向代理设置搞谷歌镜像.因为BxxDx搜索太垃圾.中间涉及到添加反向代理配置. 操作步骤 1.在conf.d文件下新增配置 cd /etc/nginx/co ...

  10. SpringCloud Ribbon负载均衡服务调用实战

    介绍 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具. 主要功能是提供客户端的软件负载均衡算法和服务调用.Ribbon客户端组件提供一系列完善 ...