开发微信小程序需要部署项目到服务器。要求必须是443端口。但是一个443端口只能监听一个服务器。所以就出现了一个问题就是每次开发一个小程序就需要买一个服务器。觉得特别多余。后来查到了有一种方式就是通过nginx配置反向代理,服务器ip绑定不同域名,然后nginx根据不同的域名去配置转发到其他端口。这样就可以实现一个服务器共存多个小程序后端项目了。

具体操作如下↓

 

Nginx环境安装

我的服务器镜像为Centos7.。

Nginx的安装参考 https://ken.io/note/centos-quickstart-nginx-setup

  • 添加RPM包进行安装

#添加Nginx包
					

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

 

#安装
					

sudo yum -y install nginx
					

  • 启动Nginx并设置为开机启动

#启动服务

sudo systemctl start nginx

#(如果启动失败,可能是Apache等服务占用了80端口,关掉相应服务/修改端口即可)

 

#设置nginx开机启动

sudo systemctl enable nginx

  • 开放端口

#开放80端口(nginx默认监听80端口)

firewall-cmd --add-port=80/tcp --permanent

 

#重载防火墙规则

firewall-cmd --reload

关于端口开放,也可以直接去控制台添加规则。

 

以上操作完成之后就安装好了nginx

 

Nginx配置修改

    接下来需要对nginx的配置文件进行修改。我们为了方便管理,直接创建一个通用配置文件。

#1、新增配置文件夹

sudo mkdir /etc/nginx/server

#2、修改默认配置(加载该文件夹下的配置)

sudo vi /etc/nginx/nginx.conf

#3、在http属性下增加:

include /etc/nginx/server/*.conf;

 

配置文件内容:

server {

listen 443 ssl;

server_name wx.gzdecision.cn;

 

ssl on;

ssl_certificate /etc/ssl/private/1_wx.gzdec*****.crt;

ssl_certificate_key /etc/ssl/private/2_wx.gzdec*****.key;

 

location / { #转发或处理

proxy_pass http://wx.gzdecision.cn:82;

}

 

}

 

server {

listen 443 ssl;

server_name www.eangaie.cn;

 

ssl on;

ssl_certificate /etc/ssl/private/******_www.eangaie.cn.crt;

ssl_certificate_key /etc/ssl/private/******_www.eangaie.cn.key;

 

location / { #转发或处理

proxy_pass http://www.eangaie.cn:81;

}

 

}

这里我让他监听两个443端口,然后分别转发到81、82端口。并在81、82端口运行两个javaweb项目。

 

项目运行

用ps -ef|grep java命令可以查到我运行的两个javaweb项目。里面其中一个是在81端口、一个是在82端口

 

Ssl证书获取

Ssl证书我是在控制台下载的用于nginx的证书。然后创建一个用户储存证书的文件夹。并在nginx的配置文件把路径填上去。

 

运行结果

 

两个https的地址访问到不同的项目主页~

Centos7 Nginx 443端口反向代理springboot项目的更多相关文章

  1. centos7 nginx搭建及其反向代理

    摘要:nginx反向代理的原理:外部通过ip加端口访问nginx,nginx接收到外部请求,通过ip解析访问内部服务器,内部服务器再将数据传回Nginx服务器,而Nginx再把数据传回给外部客户机. ...

  2. 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  3. nginx 为什么要反向代理 影藏后端 高效连接(给nginx,他自己返回) 端口冲突解决 多个服务

    nginx 为什么要反向代理  影藏后端   高效连接(给nginx,他自己返回)  端口冲突解决  多个服务 单机使用反向代理可以根据不同url匹配到不同站点   rsync 的工作原理和应用实例 ...

  4. Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中

    场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detai ...

  5. 端口被占用通过域名的处理 把www.domain.com均衡到本机不同的端口 反向代理 隐藏端口 Nginx做非80端口转发 搭建nginx反向代理用做内网域名转发 location 规则

    负载均衡-Nginx中文文档 http://www.nginx.cn/doc/example/loadbanlance.html 负载均衡 一个简单的负载均衡的示例,把www.domain.com均衡 ...

  6. Nginx设置Https反向代理,指向Docker Gitlab11.3.9 Https服务

    目录 目录 1.GitLab11.3.9的安装 2.域名在阿里云托管,申请免费的1年证书 3.Gitlab 的 https 配置 4.Nginx 配置 https,反向代理指向 Gitlab 配置 目 ...

  7. Nginx 部署、反向代理配置、负载均衡

    Nginx 部署.反向代理配置.负载均衡 最近我们的angular项目部署,我们采用的的是Nginx,下面对Nginx做一个简单的介绍. 为什么选择Nginx 轻:相比于Apache,同样的web服务 ...

  8. Nginx介绍与反向代理

    Nginx的产生 没有听过Nginx?那么一定听过它的"同行"Apache吧!Nginx同Apache一样都是一种WEB服务器.基于REST架构风格,以统一资源描述符(Unifor ...

  9. Nginx+Tomcat实现反向代理及动静分离

    Nginx+Tomcat实现反向代理及动静分离 时间 2014-07-07 15:18:35  51CTO推荐博文 原文  http://yijiu.blog.51cto.com/433846/143 ...

随机推荐

  1. [Hive]HiveSQL解析原理

    Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...

  2. HTTP协议以及HTTP请求中8种请求方法

    HTTP协议以及HTTP请求中8种请求方法 什么是协议? 协议,是指通信的双方,在通信流程或内容格式上,共同遵守的标准. 什么是http协议? http协议,是互联网中最常见的网络通信标准. http ...

  3. [转]微信小程序之购物车功能

    本文转自:https://www.cnblogs.com/linxin/p/6834206.html 前言 以往的购物车,基本都是通过大量的 DOM 操作来实现.微信小程序其实跟 vue.js 的用法 ...

  4. redis使用场景之位操作(大数据处理)

    在学习redis的过程了,看到了redis还能用于大数据处理,具体场景如下: 腾讯10亿用户,要几个毫秒内查询到某个用户是否在线,你能怎么做?千万别说给每个用户建立一个key,然后挨个记(你可以算一下 ...

  5. PHP彻底解决mysql中文乱码

    彻底解决mysql中文乱码 mysql是我们项目中非经常常使用的数据型数据库. 可是由于我们须要在数据库保存中文字符,所以经常遇到数据库乱码情况.以下就来介绍一下怎样彻底解决数据库中文乱码情况. 数据 ...

  6. Open JDk 源码下载地址

    OpenJDK 和Oracle JDK 共用了大量相同的代码,在性能.功能和执行逻辑上都和Oracle JDK非常一致,由于 现在Oracle JDK是闭源的,我们可以下载Open JDK的源码来研究 ...

  7. Winform 常用的方法

    一,Winform 如何内嵌窗体 1,判断窗体中是否以还有内嵌窗体 private void ClosePreForm() { foreach (Control item in this.spCont ...

  8. 【原】使用Builder模式替代构造参数传参

    前言:关于传递参数,当参数过多的时候我们可以考虑使用建造者模式. #没用 Builder模式 之前是这样传参的: 如下所示,构造方法里面的参数一大堆,看起来就非常的混乱. 用了Builder模式之后是 ...

  9. 《码出高效 Java开发手册》第三章 代码风格

    第3章 代码风格 3.1 命名 符合语言特性 体现代码元素特征: Abstract xxx. Basexxxx.xxException.xxxTest等; 包名统一使用小写, 完整单词+点分隔符; 枚 ...

  10. 撩课-Web大前端每天5道面试题-Day17

    1.apply, call和bind有什么区别? 三者都可以把一个函数应用到其他对象上,注意不是自身对象. apply,call是直接执行函数调用,bind是绑定,执行需要再次调用. apply和ca ...