linux下 nginx 转发内容至 本地 apache

Posted 晨曦时丶梦见兮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下 nginx 转发内容至 本地 apache相关的知识,希望对你有一定的参考价值。

流量从本地80端口的nginx进来之后在转发给本地apache的88端口,在什么环境下会用到这种配置还有待观察,这里先做个记录

先配置 nginx 的配置文件 xxx.conf  如图

server {
        listen       80;
        server_name xxxx.com www.xxx.com;
        root /www/xxx;
        index  index.html index.php index.htm;
        error_page  400 /errpage/400.html;
        error_page  403 /errpage/403.html;
        error_page  404 /errpage/404.html;
        location ~ \\.php$ {
                proxy_pass http://127.0.0.1:88;
                include naproxy.conf;
        }
        location / {
                try_files $uri @apache;
        }
        location @apache {
                 proxy_pass http://127.0.0.1:88;
                 include naproxy.conf;
        }
}

接下来在配置 apache 

<VirtualHost *:88>
DocumentRoot /www/xxxx
ServerName xxxx.com
ServerAlias www.xxxx.com
ErrorDocument 400 /errpage/400.html
ErrorDocument 403 /errpage/403.html
ErrorDocument 404 /errpage/404.html
php_admin_value open_basedir /www/xxxx:/tmp
<IfModule mod_deflate.c>
DeflateCompressionLevel 7
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js html htm gif jpg png bmp php
</IfModule>
</VirtualHost>
<Directory /www/xxxx>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

再分别重启 apache 和 nginx  即可

下图是naproxy.conf的配置图

proxy_connect_timeout 30s;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size    32k;
proxy_buffers     4 32k;
proxy_busy_buffers_size 64k;
proxy_redirect     off;
proxy_hide_header  Vary;
proxy_set_header   Accept-Encoding \'\';
proxy_set_header   Host   $host;
proxy_set_header   Referer $http_referer;
proxy_set_header   Cookie $http_cookie;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;

  

如果服务器配置较低则不推荐这么做

 

以上是关于linux下 nginx 转发内容至 本地 apache的主要内容,如果未能解决你的问题,请参考以下文章

使用Nginx将请求转发至Google Analytics实现后端数据统计

Linux下本地端口转发

Linux学习-HaProxy代理后端Nginx

Nginx将请求转发至后端应该怎么做?

linux服务部署nginx+django+mysql

简单实现 web/app端 经API GateWay 将请求转发至微服务,并将数据返回给client客户端