Nginx反向代理

1、什么是反向代理

当我们有一个服务器集群,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群

这个时候,我们通过第三方服务器访问服务器集群的内容,但是我们并不知道是哪一台服务器提供的内容,此种代理方式称为**反向代理

2、什么是负载均衡

公司会建立很多的服务器,这些服务器组成了服务器集群,然后,当用户访问网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入选择的服务器

所以,用户每次访问,都会保证服务器集群中的每个服务器压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况

一句话:**nginx**会给你分配服务器压力小的去访问

3、安装OpenSSL

(1)下载OpenSSL

自己根据系统选择下载,默认安装在C盘的,我的路径默认是C:\Program Files\OpenSSL-Win64

(2)配置

以下挨着步骤进行配置,注意自己的路径。

// 1.设置环境变量
// 打开cmd 后面的路径根据自己的路径来 如果在c盘文件没有权限,换个其他位置进行配置 随后生成的证书就会放在你选择的配置路径里 我是在D:\devlib里进行配置的 set OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\openssl.cfg echo %OPENSSL_CONF% // 2.生成server.key
openssl genrsa -out server.key // 3.生成request文件 这一步会自行进行一些信息配置 common name的地方最好写自己的uip 就是你的局域网ip
openssl req -new -key server.key -out server.csr // 4.获取私钥 以下是一整行命令 不是两行
openssl x509 -req -days -in server.csr -signkey server.key -out server.crt

配置结束后就会在你配置的路径里看见新的三个文件,第一个就是ssl证书:

4、Nginx搭建

(1)下载

官网下载。

解压到你想放入的文件夹内,然后用cmd打开。

注意,启动nginx不能直接双击nginx.exe,会改变配置文件nginx.conf,所以需要reload

// 启动nginx
start nginx // 重启nginx
nginx -s reload // 停止nginx
nginx -s stop // 退出nginx
nginx -s quit

(2)配置SSL

打开nginx文件夹下的nginx.conf配置文件:

然后找到https server下的内容,取消注释,进行配置证书路径,这里写你证书所在路径即可:

打开你的HOST文件,一般是在这个路径C:\Windows\System32\drivers\etc

打开之后,把我圈出的位置的注释取消掉,这里我已经去掉了:

然后你在浏览器中输入https://localhost就会出现这样的页面内容:

证明搭建成功啦。

(3)反向代理Node服务

搭建Node服务器

自己使用express或者koa搭建一个简单服务器即可,设置一个自定义的监听端口。我的服务器文件取名为server.js

然后使用node server.js启动服务确保能访问。

Nginx反向代理配置

再次来到nginx.conf配置文件,将443的server location里增加圈出的内容,端口号为自己在Node服务器设置的即可,nginx反向代理主要通过proxy_pass来配置:

然后cmd输入nginx -s reload重启nginx,在浏览器输入https:localhost就可以访问到你项目的主页面了。如果在另一台局域网下的电脑浏览器中输入,就要输入成https://你的局域网ip即可访问一样的主页。

这是一个自签名证书,不能用于商用。

webRTC脱坑笔记(四)— windows下Nginx对Node服务的反向代理的更多相关文章

  1. Centos 7 上使用nginx为Node.js配置反向代理时错误:(13: Permission denied) while connecting to upstream

    错误来源:Centos 7 上使用nginx为Node.js配置反向代理时产生(13: Permission denied) while connecting to upstream的错误 nginx ...

  2. windows:nginx配置http、https反向代理

    一.下载 Windows 版本的 nginx nnginx下载:http://nginx.org/en/download.html 推荐稳定版本.下载完成后,解压得到 nginx-1.14.0 ,我把 ...

  3. webRTC脱坑笔记(三)— webRTC API之RTCPeerConnection

    RTCPeerConnection API是每个浏览器之间点对点连接的核心,RTCPeerConnection是WebRTC组件,用于处理对等体之间流数据的稳定和有效通信. RTCPeerConnec ...

  4. webRTC脱坑笔记(一)— 初识webRTC

    webRTC概述 WebRTC--- `Web browsers with Real-Time Communications (RTC)` WebRTC是一个开源项目,可以在`Web`和本机应用程序中 ...

  5. webRTC脱坑笔记(二)— webRTC API之MediaStream(getUserMedia)

    webRTC API WebRTC API包括媒体捕获.音频视频的编码和解码.传输层和会话管理. getUserMedia():捕获音频和视频. MediaRecorder:录制音频和视频. RTCP ...

  6. Nginx(http协议代理 搭建虚拟主机 服务的反向代理 在反向代理中配置集群的负载均衡)

    Nginx 简介 Nginx (engine x) 是一个高性能的 HTTP 和反向代理服务.Nginx 是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru 站点(俄文:Рамблер)开 ...

  7. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  8. Windows下Nginx实现负载均衡

    Apache,Nginx Apache和Nginx都属于属于 静态页面服务器,都有插件支持动态编程语言处理,但Nginx的IO模比Apache更适合跑代理.所以一般都作为前端缓冲代理(Nginx的反向 ...

  9. [转]Windows 下 Nginx+IIS 使用

    本文转自:https://blog.csdn.net/chihen/article/details/52698594 Windows 下 Nginx+IIS 使用 一.Nginx简介 Nginx (& ...

随机推荐

  1. 用soapUI开发webservice接口

    1,下载soapUI软件,安装到本地 2,打开soapUI软件 3,创建一个开发好的接口 4,进行接口调用 测试:

  2. 【JavaScript】DOM之事件

    DOM 事件 1.事件是什么 让JS知道程序用户行为,比如用户点击HTML页面中的某个按钮和用户输入用户名与密码等操作 <script> var button = document.get ...

  3. (转)Servlet 3.0/3.1 中的异步处理学习

    转:https://www.cnblogs.com/davenkin/p/async-servlet.html 在Servlet 3.0之前,Servlet采用Thread-Per-Request的方 ...

  4. JAVA中short和short相加自动转化为int

    精度小于int的数值运算的时候都回被自动转换为int后进行计算 所以,下面的代码会报编译错误 short s1 = 1;short s2 = 1;s1= (s1+s2); 必须改成: short s1 ...

  5. Vagrant 手册之 box - 版本

    原文地址 从 Vagrant 1.5 版本起,box 开始支持版本.这运行创建 box 的人提交更新,使用 box 的人检查更新.更新 box 并查看变更记录. 对于 Vagrant 新手,box 版 ...

  6. Linear Regression and Gradient Descent

    随着所学算法的增多,加之使用次数的增多,不时对之前所学的算法有新的理解.这篇博文是在2018年4月17日再次编辑,将之前的3篇博文合并为一篇. 1.Problem and Loss Function ...

  7. Parameter Initializations in Deep Learning

    全零初始化的问题: 在Linear Regression中,常用的参数初始化方式是全零,因为在做Gradient Descent的时候,各个参数会在输入的各个分量维度上各自更新.更新公式为: 而在Ne ...

  8. < 利用Python进行数据分析 - 第2版 > 第五章 pandas入门 读书笔记

    <利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝 ...

  9. decision table

    某研究所重新对其在大学以上学历的职工安排工作. 其方针如下:" 如果年龄不满18岁,文化程度是大学,若是男性,则一律要求考研究生.若是女性,则分配到研究所办公室任行政干部. 如果年龄满18岁 ...

  10. android测试开发概念

    一:测试分类 1.分类概览 按测试阶段划分: 单元测试 集成测试 系统测试 验收测试 按是否覆盖源代码: 黑盒测试: 功能测试: 界面测试 逻辑测试 安装测试 应用性测试 兼容性测试 性能测试: 稳定 ...