ngnix互換PCとAPPの共有機能をどのように構成しますか?

2779 ワード

一、現在のニーズ:


以前、古い主人の家にいたとき、アプリ側で授業を共有する(QQ、微信、モーメンツ、微博、QQ空間に共有する)需要があった.現在PC側で入力されているQQ空間であれば、このリンクをクリックしてジャンプするのはPC側のカリキュラム詳細インタフェース(登録されている場合、登録されていない場合はログインインタフェースにジャンプ)であり、PC側でカリキュラムを共有(微博、QQ空間に共有)し、上とは逆である.

二、解決方案:


PC側の共有リンクアドレスとアプリ側の共有リンクアドレスを統一することを検討していたが、Nginxがクライアントのタイプを判断し、異なるサービス配布を行うことを検討していた.以前は共有リンクアドレスの接頭辞を学習者のフロントエンドwebに統一することを検討していた.そうすれば、アンドロイドとIOSの両方を変更する必要があり、フロントエンドで書く必要がある.環境によっては、環境ごとに対応するアドレスが異なり、毎回変更するとフロントエンドにとって効率があまり高くないため、フロントエンドが一時的に動かないことを決定し、依然としてインタフェースアドレスを要求し、配布操作はNginxに渡して統一的に処理する.これでは、新しい環境をリリースするたびに、nginxの中で注意する必要があります.私たちはnginxにいる必要があります.confプロファイルのserverの下に2つのlocationを構成します.

三、最終実現:


ここでは、旧東家の事前発表環境を例に挙げます.
  • 1、解析pc端共有リンクアドレス
  • location /web/share {
        alias /app/content/http/data/web/;
        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-.)|(.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.)|(java.)|(Opera.))$” ){
            rewrite ^ http://xxxx.com/mobile/share/index.html;
        }
    }
    
  • 2、解析app端共有リンク
  • location /mobile/share {
        alias /app/mobile-tomcat/webapps/mobile/share;
        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-.)|(.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.)|(java.)|(Opera.))$” ){
            rewrite ^ http://xxxx.com/web/share/;
        }
    }
    

    以上が構成されている情報ですが、興味のある方は自分で検討してみてください.