宝塔反向代理有什么用(宝塔nginx跨域设置)

宝塔反向代理有什么用(宝塔nginx跨域设置)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍宝塔反向代理有什么用(正向代理与反向代理有什么区别呢)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

宝塔面板Nginx反向代理解决跨域问题

主要使用Nginx反向代理实现

api地址为: https://api.xxxx.com/v1/index.html

前端访问地址为: https://www.xxxx.com/

现在前端如果察清访问接口地址就会出现跨域的问题

配置闹睁如下

修改配置文件

完成以上设置就可败弯前以跨域访问了

正向代理与反向代理有什么区别

在了解正向代理与反向代理之前,我们要普及一个小知识,即Web服务器。
Web Server中文名称叫网页服务器或Web服务器,它可以解析(handles)HTTP协议。Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。

接下来进入主题,什么是正向代理?
正向代理服务器,用户可以知道Web服务的数据库等系统的IP地址和端口号等敏感息,由于暴露了这些关键信息,容易遭受到恶意攻击所以安全性比较差。
正向代理的典型应用就是为火墙内局域网局域网客户端提供访问Internet的途径。其次使用正向代理还可以实使用缓冲特性减少网络使用率以及权限验证等功能,如上网权限。

一般对于企业内部管理系统,使用正向代理的方式,释放专门的网络厅此带宽,特定域名实现某些功能只能有部分员局伏兄工有权限访问。

什么又是反向代理?
反向代理用到了反向代理服务器,使用反向代理,典型的应用是将防火墙后面的服务器提供给Intenet用户访问,隐藏了Web应用服务,如数据库的IP地址、端口号等信息,提高了系统的安全性等。同时使用反向代理还可以实现多台服务器的负载均衡,启用高级的URL和管理技术,使处于不同Web服务器系统的Web界面同时存在一个URL空间下,提高系统性能。

对于互联网行业,如理财应用,为实现系统的安全性,采用反向代理的方式,对用户隐藏的后台应用的部署方式、结构等敏感信息,提供一个统一的域名和给用户访问。

用一句话概述的话:正向代理与反向代理的区别在于代理的对象不一样,正向代理代理的对象是客户端桐袭,反向代理代理的对象是服务端。

用案例讲解正反向代理

正向代理是一个位于客户端和目标服务器之间的代理服务器。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理服务器向目标服务器转交并且将获得的内容返回给客户端。

我想访问某歌,直接在浏览器输入某歌地址是访问不了的,原因大锋念家都懂,只能otw(over the wall)。我在电脑上安装otw软件,再输入某歌地址,完美解决。

反向代理服务器位于用户与目标服务器之间,但是对于用穗瞎户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。

我想访问某度,直接输入某度地址就可以了,不需安装otw软件,但是具体是哪台服务器给我返回的数据呢?我并不知道

反向代理是企业中经常用到银族困的技术,很多是通过nginx实现的,以后会讲解nginx的配置
参考文章: https://www.jianshu.com/p/208c02c9dd1d

nginx服务器有什么作用以及什么是反向代理

一:Nginx作为正向代理服务器:

1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代理不支持从外网向内网访问资源,一般很少用,经本人测试,效果也不好,有很多页面打不开,在百度搜索的页面也无法返回。

server {
server_name localhost;
resolver 202.106.0.20 8.8.8.8; #只能有一个resolve,但是可以用空格漏族隔开,继续写下一个
resolver_timeout 5s;
listen 8080;
location / {
proxy_pass $scheme://$http_host/$request_uri; proxy_set_header Host $http_host;

proxy_buffers 256 4k;
proxy_max_temp_file_size 0;

proxy_connect_timeout 30;

proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;
}
}

2.错误码502 :Nginx作为代理服务器向后端转发请求过程中超时。

二:Nginx作为反向代理服务器:

反向代理:反向代理也叫reverse proxy,指的是代理外网用户的请求到内部的指定web服务器,并将数据返回给用户的耐搜橡一种方式,这是用的比较多的一种方式。

反向代理的常用指令:

1.proxy_pass:用来设置将请求转发给的后端服务器的主机,可以是主机名、IP地址:端口的方式,也可以代理到通过upstream设置的主机组,如下:

upstream webserver {
#ip_hash;
server 192.168.0.201 weight=1 max_fails=2 fail_timeout=2;
server 192.168.0.202 weight=1 max_fails=2 fail_timeout=2;
server 127.0.0.1:9008 backup;
}

server {
server_name hfnginx.chinacloudapp.cn;
#access_log logs/host.access.log main;
location / { #静态网页在本机
root html;
index index.html;
}
location ~* ^/form { #指定目录在后端服务器
proxy_pass http://webserver; #此处http://webserver后面不能加/,如果加了会提示语法错误
proxy_set_header X-Real-IP $remote_addr;
}
}

2:proxy_hide_header:用于nginx服务器作为反向代理的时候,在返回给客户端http响应的时候,隐藏后端服务版本(如php版本)的信息,可以设置在http/server或location块,如下:

Nginx会将上游服务器的响应转发给客户端,但默认不会转发以下HTTP头部字段:Date、Server、X-Pad和X-Accel-*。使用proxy_hide_header后可以任意地指定哪些HTTP头部字段不能被转发。例如:

proxy_hide_header Cache-Control;
proxy_hide_header MicrosoftOfficeWebServer;

注:如果是nginx直接作为web服务器,要隐藏版本信息的话,使用fastcgi_hide_header:

3:proxy_pass_header:与proxy_hide_header功能相反,proxy_pass_header会将原来禁止转发的header设置为允许转发,可以设置在http/server或location块例如:

proxy_pass_headerX-Accel-Redirect;

4:proxy_pass_request_body:是否向后端服务器发送HTTP包体部分,可以设置在http/server或location块,如下:

proxy_pass_request_body onoff; #默认昌旁为on

5:proxy_pass_request_headers:是否将客户端的请求头部转发给后端服务器,可以设置在http/server或location块,如下:

proxy_pass_request_headers on off; #默认为on

6:proxy_set_header:可以更改或添加客户端的请求头部信息内容,并转发之后端服务器,比如在后端服务器想要获取客户端的真实IP的时候,就要更改每一个报文的头部,如下:

proxy_set_header HOST $remote_addr; #添加HOST到报文头部,其值为客户端的公网IP地址

7:proxy_set_body:更改nginx服务器接收到的客户端请求的请求内容,然后将修改后的请求转发给后端的服务器,用法如下:

proxy_set_body value; #其中value为要修改的目标内容,可以是变量、文本或者变量的组合。

8:proxy_ip:Nginx 0.8.22版本及以上支持此功能,用于Nginx配置了多个基于域名或IP的主机的情况下,可以指定代理连接到特定的主机处理,就是强制将客户端请求绑定到指定的IP地址:

proxy_bind x.x.x.x;

9:proxy_connect_timeout:配置nginx服务器与后端服务器尝试建立连接的超时时间,默认为60秒,用法如下:

proxy_connect_timeout 10s; #10s为自定义nginx与后端服务器建立连接的超时时间

10:proxy_read_time:配置nginx服务器向后端服务器或服务器组发起read请求后,等待的超时时间:

proxy_read_time 10s; #默认为60秒

11:proxy_send_time; 配置nginx项后端服务器或服务器组发起write请求后,等待的超时时间:

proxy_send_time 10s; #默认为60s

12:proxy_http_version:用于设置nginx提供代理服务的HTTP协议的版本:

proxy_http_version 1.01.1;

13:proxy_method:设置nginx服务器请求后端服务器时使用的方法,一般为POST或者GET,客户端的请求方法将被忽略:

proxy_method GETPUT;

14:proxy_ignore_client_abort:设置在客户端网络中断请求时,nginx服务器是否中断对被代理服务器的请求:

proxy_ignore_client_abort offon; #默认为off,当客户端网络中断请求时,nginx服务器中断其对后端服务器的请求。

15:proxy_ignore_headers:设置nginx不处理后端服务器返回的数据中包含某些指定字段的报文,可以指定的有:”X-Accel-Redirect”, “X-Accel-Expires”, “Expires”或”Cache-Control”:

proxy_ignore_headers Expires;

16:proxy_redirect:修改后端服务器返回的响应头部中的location货refresh,与proxy_pass配合使用:

17:proxy_intercept_errors:设置nginx服务器返回客户端的错误状态,当后端服务器返回大于等于400的错误码的是,如果本功能是打开的,则nginx服务器返回自定义的错误页面(使用error page定义的),如果没有开启就将后端服务器返回的HTTP状态直接返回给客户端,默认为关闭:

proxy_intercept_errors on off;

18:proxy_headers_hash_max_size:设置nginx保存HTTP报文头的hash表的上限,默认为512字节:

proxy_headers_hash_bucket_size 512;#申请nginx保存HTTP报文头的hash表的空间大小,默认为64个字节
proxy_headers_hash_max_size 512; #上限
server_names_hash_max_szie 512; #设置服务器名称的上限
server_namse_hash_bucket_size 512; #申请空间大小

19:proxy_headers_hash_bucket_size:#申请nginx保存HTTP报文头的hash表的空间大小,默认为64个字节

proxy_headers_hash_bucket_size 512; #默认为64字节

20:proxy_net_upstream:当使用了upstream的时候,可以定义在发生了特定的情况下将请求依次交给下一个组内的服务器处理,状态包括:

proxy_next_upstream http_404 http_502; //让404报错进入max_fails计数 upstream online {
sticky;
server 172.28.70.161:8080 max_fails=0 fail_timeout=3s ;
server 172.28.70.163:8080 max_fails=0 fail_timeout=3s ;

check interval=3000 rise=2 fall=1 timeout=1000 type=http;
check_http_send "GET / HTTP/1.0\r\n\r\n";
check_http_expect_alive http_2xx http_3xx;
}

upstream backup {
server 172.28.22.29:7777 max_fails=0 fail_timeout=3s;
}

21:proxy_ssl_session_reuse:配置是否基于SSL协议与后端服务器建立连接,如下:

proxy_ssl_session_reuse on off;

Nginx反向代理的使用及原理

正向代理,用通俗的方式来说,就是代理服务器只起到转发的作用,例如,在顾客进商店购买东西,商店就是一个正向代理,起到的作用就是把商品从厂家代理售卖到顾客手中。

反向代理,就是顾客的请求是确定的,但将商品的需求信息发送给代理商之后,代理商通过各种方式寻找不同的供货商,再把供货商提供的商品转交给顾客。顾客是不知道代理商背后的供货商是谁的。这种方式有点类似于目前的“三只松鼠”等网络直销平台的逻辑,顾客发送芒果干的请求给三只松鼠,三只松毕镇激鼠从全国进行供货商的选择,拿到货品后再打上三只松鼠的logo转交给顾客,实现反向的代理,代理的是供货商,顾客不知道具体的供应商是谁(所以才会要求包装上需要印上供应商的名称和地址,要不然出问题都不知道找谁。)

Nginx的安装网络有很多资源,包括旅虚Linux和Windows的,在此不表。主要关注一下如何进行配置,来看看 nginx.conf.default 中的配置信息:

可以看到,主要的几个配置模块:

下面主要讲讲经常使用的server以及location的配置。

gzip压缩中

对手袜于阿里云上的配置,我们直接使用一级域名 abc.com 解析阿里云服务器的IP地址:

分享到 :
相关推荐

jython和python的区别(python和jawa)

大家好,今天来介绍jython和python的区别(python和jupyter的区...

服务器机房有哪些服务保障要求(服务器机房有哪些服务保障要求呢)

IDC服务器机房为广大用户提供大规模。高质量。安全可靠的专业服务。为互联网发展做出的...

国内高防游戏服务器怎么防御网络攻击(国内高防游戏服务器怎么防御网络攻击的)

国内高防游戏服务器防御网络攻击的方法:1。定期扫描现有的网络主节点。对可能存在的安全...

显卡功耗在哪里看(怎么看cpu和显卡功耗)

大家好,今天来介绍显卡功耗在哪里看(如何查看显卡的具体功耗数据)的问题,以下是渲大师...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注