小知识:Nginx反向代理入门实战指南

概述

nginx反向代理(reverse proxy):反向代理是指服务器根据客户端的请求,从其关系的一组或多组后端服务器(如web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的ip地址,而不知道在代理服务器后面的服务器簇的存在。

%小知识:Nginx反向代理入门实战指南-猿站网-插图

反向代理的作用

对客户端隐藏服务器(集群)的ip地址 安全:作为应用层防火墙,为网站提供对基于web的攻击行为(例如dos/ddos的防护,更容易排查恶意软件等 为后端服务器(集群)统一提供加密和ssl加速(如ssl终端代理) 负载均衡,若服务器集群中有负荷较高者,反向代理通过url重写,根据连线请求从负荷较低者获取与所需相同的资源或备援 对于静态内容及短时间内有大量访问请求的动态内容提供缓存服务 对一些内容进行压缩,以节约带宽或为网络带宽不佳的网络提供服务 减速上传 提供http访问认证

实践nginx反向代理内网穿透8081端口

目的:隐藏8081端口,通过访问80端口实现访问8081端口

实现步骤

我们配置api 在8081端口,并且成功部署,此时8081对外开放,所以可访问

%小知识:Nginx反向代理入门实战指南-1猿站网-插图

以ubuntu环境为例

?
1
2
$ cd /etc/nginx/
$ vim nginx.conf

nginx http节点下 配置8081端口反向代理如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
server {
listen 80 default_server;
listen [::]:80 default_server;
location  /api/ {
proxy_pass http://127.0.0.1:8081;
}
location  /apidocs/ { 
proxy_pass http://localhost:8081/api/;
index swagger-ui.html;
error_page 404 http://localhost:8081/api/swagger-ui.html;
}
}

配置完成后重启nginx服务

?
1
$ service nginx restart

访问http://ip/apidocs/swagger-ui.html 成功

%小知识:Nginx反向代理入门实战指南-2猿站网-插图

我们可以关掉服务器安全组规则,去掉8081端口-安全组规则,可以登录阿里云配置,以阿里云为例,其他同理

http://ip/apidocs/swagger-ui.html 依然可以访问

http://ip:8081/api/swagger-ui.html 不可访问

%小知识:Nginx反向代理入门实战指南-3猿站网-插图

至此,我们实现了nginx反向代理8081端口,通过访问80端口,代理到8081端口的目的

重点理解ngnix location&proxy_pass字段规则

实现方式二配置upstream

在http节点下,加入upstream节点

?
1
2
3
4
upstream demo {
server ip:8080;
server ip:8081;
}

将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称

?
1
2
3
location / {
proxy_pass http://demo;
}

nginx配置https支持

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
##
# add cnn ssl settings
##
server{
listen 443;
server_name demo.com;
ssl on;
ssl_certificate /etc/nginx/cert/test.pem;
ssl_certificate_key /etc/nginx/cert/test.key;
ssl_session_timeout 5m;
location / {
#根域名或者ip
proxy_pass http://demo.com;
}
}

总结

到此这篇关于nginx反向代理入门实战的文章就介绍到这了,更多相关nginx反向代理内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/6997283001272893476

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:win7下VMware虚拟机安装linux7.2上网配置教程

2023-3-23 2:45:24

建站知识

小知识:Linux中有效地管理进程的8个命令

2023-3-23 2:53:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索