JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Nginx代理服务

wys521 2024-09-07 03:03:14 精选教程 54 ℃ 0 评论

一、正向代理与反向代理的概念

正向代理:局域网内的机器借助代理服务访问局域网外的网站。代理的对象是客户端,目标是去访问外网的资源。(eg:通过代理翻墙去看看外面的世界)

正向代理示意图.png

反向代理:局域网向Internet提供资源,让Internet上其他用户通过代理服务器访问局域网内的资源。代理的对象是服务端,目标是让其他客户端可以访问服务端的资源(eg:公司内的负载均衡、静态资源服务器)

反向代理示意图.png

总结:正向代理与反向代理涉及到的技术基本一致,主要是因为应用场景不同而进行区别。

二、正向代理配置的指令

1.resolver指令:用于指定DNS服务器IP地址

2.resolver_timeout指令:用于设置DNS域名解析超时时间

3.proxy_pass指令:用于设置代理服务器的协议和地址(反向代理也会用到,到时候详细介绍)

因为正向代理服务的场合不多,所以指令较少,功能也比较简单

(另外关于nginx正向代理是否支持HTTPS,暂时还没尝试,以后实践了在补充)

三、反向代理配置的指令

1.proxy_pass指令:用于设置被代理服务器的地址

语法结构:
proxy_pass URL;
URL包含传输协议、主机名称或者IP地址加端口号等要素。传输协议通常是"http"或者"https"
注意upstream和proxy_pass搭配使用的两种情况
(1)proxy_list中指明了传输协议
upstream proxy_list
{
 server http://192.168.4.30/uri/;
 server http://192.168.12.19/uri/;
}
server
{
 location /
 {
 proxy_pass proxy_list;
 }
}
(2)proxy_list中没传输协议
upstream proxy_list
{
 server 192.168.4.30/uri/;
 server 192.168.12.19/uri/;
}
server
{
 location /
 {
 proxy_pass http://proxy_list;
 }
}
还有需要注意URL中是否包含URI,以访问"http://www.test.com/test/index.html"为例
server{
 server_name www.test.com;
 location /test/
 {
 #proxy_pass http://192.168.12.19; --->转到"http://192.168.12.19/test/index.html"
 #proxy_pass http://192.168.12.19/index/; --->转到"http://192.168.12.19/index/index.html"
 #proxy_pass http://192.168.12.19/; --->转到"http://192.168.12.19/index.html"
 }
}

2.proxy_hide_header指令:设置在发送HTTP响应时,隐藏一些头域信息

3.proxy_pass_header指令:设置一些头域信息以被发送

4.proxy_pass_request_body、proxy_pass_request_headers指令:是否将客户端的请求体、请求头发送给代理服务器

5.proxy_set_header、proxy_set_body指令:设置新的请求头、请求体发往代理服务器

还有14个指令,以后再慢慢补,先把自己常用的指令先整理出来。

四、nginx服务器负载均衡相关配置

nginx服务器是现在静态的给予优先级的加权轮询算法,主要使用配置proxy_pass和upstream指令,以下是实例

upstream backend
{
 server 192.168.4.30 weight=5;
 server 192.168.12.19 weight=3;
 server 192.168.11.17 ; #默认weight=1
}
server
{
 location /
 {
 proxy_pass http://backend;
 proxy_set_header Host $host;
 }
}

根据backend服务器组中的不同的优先级别,实现加权轮询。 192.168.4.30的级别最高,优先接收和处理请求,192.168.11.17的级别最低,最少处理请求,192.168.12.19处于中等优先级。

轮询负载均衡就是将所有服务器组的weight设置为一样的即可

转载链接地址:https://www.jianshu.com/p/9e8c2fbe7156

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表