nginx解決wwwとwapの選択訪問


携帯端末のwwwサイト訪問を解決する時は、wapページに切り替えます.また、PCがwapを訪問する時はwww端に切り替わります.
1.windowsで初めてnginxを使います.サーバーの共有アクセスを実現します.
  • にありますhttp://wiki.nginx.org/NginxChsInstall nginx 0.8.54 windowsバージョンをダウンロードします.
  • は、見つけられるところに設置すればいいです.例えば、C:ging-0008.54です.
  • は、confファイルの下のnginx.com nfを構成する.このファイルの構成ファイルです.
  • nginx.com nfファイルの中でserver{}を見つけて、その上に参加します.   
    upstream wan
     {
    server www.baidu.com:80;
    server www.google.cn:80;
    }
       ここは均衡サーバです.お客様の要求はこのディレクトリにジャンプしてから、順次(またはランダム)の要求は各サーバに転送されます.
  •  そしてserver{}のlocationを
    location / { 
    proxy_pass http://wan;
    proxy_redirect default;
    }
    に変更します.    ここに配置されたバランスサーバにジャンプして、このlocal hostには論理判定などの機能が追加されます.
  •  すべてのプロファイル
    #    #。
    #     
    worker_processes  1;
    events {
    	#     。
    	worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
    #     ,       。
    upstream wan
     {
    server www.baidu.com:80;
    server www.google.cn:80;
    }
     server {
    	#     
            listen       80;
    	#          ip
            server_name  localhost;
            location / {
    		proxy_pass http://wan;
    		proxy_redirect default;
            }
        }
    }
     
  • スタートスタート、終了   nginx–s quit、NFinx-s reloadを重載する.スタートinxを実行します.
  • ページを何回も開くhttp://localhost.訪問したのはこの二つのサイトです.
  •  
    2.火狐とIEブラウザのアクセスを制限する設定ファイル.
    server {
    	#     
            listen       80;
    	#          ip
            server_name  localhost;
            location / {
    	#  UA ie       
    	if ($http_user_agent ~ (MSIE)|(Mozilla) ){
    	#503              
    	return 503;
    	}
    		proxy_pass http://wan;
    		proxy_redirect default;
            }
        }
     このように火狐やieがロカホストに訪問すると503のアクセスエラーが発生します.
     
     
    3.wwwとwapのアクセス切り替え.
    キャッチャーが採用しているのはnginxです.wapとwwwの切り替えを実現しました.pcのWebブラウザを除いて、任意のUser-Agent(例えば、ttpod、kkx、abcはだめです.))いずれも彼らのwapサイトにアクセスできるので、USeragentを通じて(通って)pcのブラウザかどうかを判断してジャンプするつもりです.既存の携帯端末のブラウザがあるUAは、ここでまず携帯端末の判断をしました.もし携帯電話が直接wapにジャンプしたら、wwwにジャンプしないといけません.
    worker_processes  1;
    events {
        #     
        worker_connections  50000;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        gzip  off;
        upstream wwwxxx{
            server www.xxx.com;
        }
        upstream wapxxx{
    	server wap.xxx.com;
            #server 117.135.xxx.xx:9090;
        }
        server {
          listen       80;
            server_name  localhost;
            location / {
    	#set $ismob 0;          .
           #       ,~*     。
    	if ($http_user_agent ~ "((MIDP)|(WAP)|(UP.Browser)|(Smartphone)|(Obigo)|(Mobile)|(AU.Browser)|(wxd.Mms)|(WxdB.Browser)|(CLDC)|(UP.Link)|(KM.Browser)|(UCWEB)|(SEMC\-Browser)|(Mini)|(Symbian)|(Palm)|(Nokia)|(Panasonic)|(MOT)|(SonyEricsson)|(NEC)|(Alcatel)|(Ericsson)|(BENQ)|(BenQ)|(Amoisonic)|(Amoi)|(Capitel)|(PHILIPS)|(SAMSUNG)|(Lenovo)|(Mitsu)|(Motorola)|(SHARP)|(WAPPER)|(LG)|(EG900)|(CECT)|(Compal)|(kejian)|(Bird)|(BIRD)|(G900/V1.0)|(Arima)|(CTL)|(TDG)|(Daxian)|(DAXIAN)|(DBTEL)|(Eastcom)|(EASTCOM)|(PANTECH)|(Dopod)|(Haier)|(HAIER)|(KONKA)|(KEJIAN)|(LENOVO)|(Soutec)|(SOUTEC)|(SAGEM)|(SEC)|(SED)|(EMOL)|(INNO55)|(ZTE)|(iPhone)|(Android)|(Windows CE)|(Wget)|(Java)|(curl)|(Opera))"  )
    	{
    		#set $ismob 1;
    		proxy_pass  http://wapxxx;
    	}
            #  UA       。
    	if ( $http_user_agent ~ ^$ )
    	{
    		#set $ismob 1;
    		proxy_pass http://wapxxx; 
    	}		
            proxy_pass http://wwwxxx;
    	proxy_redirect default;
    	}
        }
    }
    
    ここでは、filefoxのuser agent switchを使って、それぞれの不通なUAをシミュレートすることをおすすめします.
    これは基本的にwwwとwapの選択ができます.でも、これは毎回判断すると、スピードに大きな影響を与えます.ですから、どうやってwwwとwapジャンプするべきか誰が分かりますか?教えてくれます.ありがとうございます.
    新人です.侠客の方々のご叱正をお願いします.