Search K
Appearance
Appearance
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
假设服务器共有两个服务,一个是网站服务,一个是http文件分发服务器,其中这两个服务在内部开启的端口是:
网站服务:82文件服务: 81域名是: liumou.site
所以在不配置代理的情况下,需要访问的方法是:
http://liumou.site:82http://liumou.site:81可以看到,如果这样子访问的话,有着很不好的体验,因为要加端口才能访问,所以这时候就可以通过
反向代理来实现不同的域名访问不同的服务,且访问的端口都是80
为了更好的访问体验,我这边设置了两个域名记录来访问不同的服务,如下
http://www.liumou.site -> http://liumou.site:82http://file.liumou.site -> http://liumou.site:81所有域名记录均指向同一个服务
IP
编辑配置文件/etc/nginx/conf.d/defalut.conf
upstream file {
server 127.0.0.1:81;
}
upstream www {
server 127.0.0.1:82;
}
server {
listen 80;
server_name file.liumou.site;
client_max_body_size 1024m;
location / {
proxy_pass http://file;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
listen [::]:80;
server_name www.liumou.site;
client_max_body_size 1024m;
location / {
proxy_pass https://www;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}proxy_pass http://file; 设置需要访问的最终服务器地址,其中file是上面的upstream 函数定义的名称server_name www.liumou.site; 设置请求的url地址,当匹配正确则应用访问规则server_name file.liumou.site; 设置请求的url地址,当匹配正确则应用访问规则upstream file {
server 127.0.0.1:82;
}
server {
listen 80;
server_name file.liumou.site;
client_max_body_size 1024m;
location / {
proxy_pass http://file;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}为了避免管理混乱,建议一个配置文件写一个配置即可