介绍:
客户端无法直接跟服务端发起请求的时候,我们就需要代理服务。代理可以实现客户端与服务端之间的通信,代理分为正向代理和反向代理
正向代理:
客户端 <一> 代理 一>服务端
正向代理简单地打个租房的比方:
A:客户端
B:代理
C:服务端
A想租C的房子,但是A并不认识C,所以租不到。
B认识C能租这个房子,所以你找了B帮忙租到了这个房子。
这个过程中C不认识A只认识B
C并不知道A租了房子,他只知道把房子租给了B。
反向代理:
客户端 一>代理 <一> 服务端
反向代理也用一个租房的例子:
A:客户端
B:代理
C:服务端
A想租一个房子,B就把这个房子租给了他。
但实际上C才是房东。
B只是一个中介。
这个过程中A并不知道这个房子到底谁才是房东
他很可能认为这个房子就是B的。
Nginx配置:
nginx的配置文件都在/etc/nginx/下
cd /etc/nginx/
ls
Ubuntu18.04下是这种情况:
conf.d koi-utf modules-available proxy_params sites-enabled win-utf
fastcgi.conf koi-win modules-enabled scgi_params snippets
fastcgi_params mime.types nginx.conf sites-available uwsgi_params
访问网页默认的都是80端口,当然也可以更换别的端口,比如我们只想让别人访问8000端口,我们可以:
vim sites-enabled/default
其中有一段是:
server {
listen 80 default_server;
listen [::]:80 default_server;
把“80”换成“8000”即可。
实现反向代理访问必应:
vim /etc/nginx/nginx.conf
在http中加入:
server {
listen 8080;
server_name localhost;
location / {
proxy_pass http://bing.com/;
}
}
然后重新加载一下:
service nginx restart
或者
service nginx reload
然后访问:
loaclhost:8080
会发现访问的是必应,这样就实现了反向代理。
总结:
代理服务器站在客户端那边就是正向代理,
代理服务器站在原始服务器那边就是反向代理,
Nginx通过proxy_pass可以设置代理服务。