当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx多层代理配置方法

    栏目:nginx问题汇总 时间:2018-11-28 16:42

    这篇文章主要介绍了Nginx多层代理配置方法,此篇文章只给大家介绍nginx的多级代理配置代码,需要的朋友可以参考下

    此篇只说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.confserver{ 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.confserver{ 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.confserver{  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.confserver{  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; }}