Nginx多层代理如何配置-创新互联

这篇文章将为大家详细讲解有关Nginx多层代理如何配置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为左云企业提供专业的成都网站设计、成都网站制作、外贸网站建设左云网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

此篇只说nginx的多级代理配置,不扯其他的.

需求:hba.changyoufun.com-121.201.125.239(gd1)--hk1--co(alphaclash.ggdev.co)  广东代理--->香港--->加拿大

由于idc机房在加拿大,所以经常会配些nginx多级反向代理到国内.(不做代理client就得翻墙,或者说是丢包很严重.)

下面的Nginx配置我只写80的,443的忽略,简化nginx的配置,参数也不一一列举不然太多了.

gd1的反向代理配置:(就是一个反向代理)

cat hba.changyoufun.com.conf
server{
 listen 121.201.125.239:80;
 
 server_name hba.changyoufun.com;
 access_log /data/weblogs/hba.changyoufun.com.access.log main;
 index index.html index.php index.htm;
 location / {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
    proxy_read_timeout 600;
    proxy_connect_timeout 600;
    proxy_pass http://hba80;
   }
}
Upstream配置(代理的是hk1的内网ip):
 upstream hba80 {
  server 10.105.3.222:80;   
 }
 upstream hba443 {
  server 10.105.3.222:443;   
 }

hk1的反向代理配置:(也是一个nginx反向代理)

cat hba.changyoufun.com.conf
server{
 listen 10.105.3.222:80;
 server_name hba.changyoufun.com;
 access_log /data/weblogs/hba.changyoufun.com.access.log main;
 index index.html index.php index.htm;
 location / {
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
    proxy_redirect off;
    proxy_read_timeout 600;
    proxy_connect_timeout 600;
    proxy_pass http://hba80;
   }
}

Upstream配置(代理的是alphaclash.ggdev.co域名的ip地址):

upstream hba80 {
  server 216.66.17.34:80;   
 }
 upstream hba443 {
  server 216.66.17.34:443;   
 }

co机房原先已经存在alphaclash.ggdev.co域名的配置,只需要copy一份alphaclash.ggdev.co的nginx配置,将域名替换为hba.changyoufun.com即可.

co的两份nginx配置:

nginx和php的web版:

cat hba.changyoufun.com.conf
server{
  listen 216.66.17.34:80; 
 server_name hba.changyoufun.com ;
 access_log /data/weblogs/hba.changyoufun.com.access.log main;
 index index.html index.php index.htm;
root /product/clash/alpha/web/htdocs;
location ~ ^/.*(do|php)$ {
  fastcgi_pass php_proxy;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_script_name;
  include /etc/nginx/fastcgi_params;
 }
}
cat alphaclash.ggdev.co.conf
server{
  listen 216.66.17.34:80; 
 server_name alphaclash.ggdev.co;
 access_log /data/weblogs/alphaclash.ggdev.co.access.log main;
 index index.html index.php index.htm;
root /product/clash/alpha/web/htdocs;
location ~ ^/.*(do|php)$ {
  fastcgi_pass php_proxy;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO $fastcgi_script_name;
  include /etc/nginx/fastcgi_params;
 }
}

注释:其实nginx的代理很简单,很多时候是没想明白,既然代理alphaclash.ggdev.co,前面两级代理配置了这个域名不就ok了?仔细想发现nginx代理根据ip:端口找域名,然后在location匹配到的location段再找upstream段,再根据upstream段的ip+port找下级域名,最后发现最后一级没有相匹配的域名就报404了,所以最后一层也要配上相匹配的域名配置.

关于“Nginx多层代理如何配置”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

网站名称:Nginx多层代理如何配置-创新互联
文章源于:https://www.cdcxhl.com/article14/cecsge.html

成都网站建设公司_创新互联,为您提供服务器托管全网营销推广关键词优化网站维护电子商务软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化