美文网首页
nginx 作高性能反向代理服务器

nginx 作高性能反向代理服务器

作者: 劉小乙 | 来源:发表于2020-08-30 18:58 被阅读0次

    nginx 作高性能反向代理服务器

    nginx作为高性能的web服务器常常用于各种的反向代理和负载均衡服务器,但是今天遇到一个小小的问题为wordpress做一个动静分离需求。

    首先发现这个wordpress使用的url传参并不是使用的访问某个.php页面提交参数,而是直接将参数传给根域名

    http://192.168.1.1/?s=xxx
    

    如果传统的简单访问某个动态语言编写的页面nginx是非常简单直接写一个类似:

    location ~ *\.php $ {
             proxy_pass http://server_group;
            }
    

    就可以将参数传递给了动态服务器。

    但是基于这个wordpress的需求我们需要将这么写

     location / {
                    index index.html index.htm;
                    proxy_pass http://html_server_group;
                        if ($query_string ~* "s=(.*)$"){
                            proxy_pass http://server_group;
                            }
                        }
    #这里$query_string是传参字符串,s是wp系统中指定的传参变量,(.*)正则表示接受后面所有的字符串,如果多个变量以此类推。
    

    这里我们因为实验环境,使用了ngrok把内网服务器映射到了公网,但是我们的nginx代理服务器在google vps上,这时需要在nginx中使用dns解析内网域名。

    首先在conf中写入dns解析服务器

    resolver 8.8.8.8; #使用google的dns解析域名
    

    然后写location /为:

    location / {
                    index index.html index.htm;
                    proxy_pass http://html_server_group;
                    set $serverin e338a4fb64e2.ngrok.io; #定义serverin变量为映射域名
                        if ($query_string ~* "s=(.*)$"){
                           proxy_pass http://$serverin; 
                            }
                         }
    

    测试通过

    相关文章

      网友评论

          本文标题:nginx 作高性能反向代理服务器

          本文链接:https://www.haomeiwen.com/subject/vdbesktx.html