サービスエンドはJavascriptドメインをまたぐ問題を解決します.
先端がドメインをまたぐ問題を解決する限界が大きいので、Ajaxがドメインをまたぐかまたはiframeがドメインをまたぐかについては、サーバー側でソリューションを解決することを提案します.
このスキームの原理は、クライアントからの要求を受けて、ドメインサーバエージェントを介してターゲットサーバに要求を送信し、応答データをクライアントに返信することである.
apacheのmod_を使いますproxyモジュールは、逆エージェント機能をオンにして実現される:
1 apacheの配置ファイルhttpd.com nfを修正し、次の2行の前の嗳号を削除する.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2 server configまたはvirtual hostに追加する: ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /folder http://****.com/floder
apacheを再起動しますコメント:
ProxyRequests Off
命令は、逆方向(reverse)プロキシを採用することを意味し、クライアントにとっては元のサーバのようであり、クライアントは、特別な設定を必要としない.順方向エージェントは、クライアントが任意のウェブサイトにアクセスし、クライアント自身を隠すことを可能にするので、認証されたクライアントのみにサービスを提供することを確実にするためにセキュリティ対策を講じる必要がある.ProxyPass
は、遠端サーバをローカルサーバのURL空間にマッピングすることができるように指示しています.この場合、ローカルサーバは、プロキシとして機能するのではなく、リモートサーバのイメージとして機能します.folderはローカル仮想パスで、http://***.com/fladeはリモートサーバを指す部分URL あるサブディレクトリを逆プロキシしたくない場合は、「!」コマンドを使うことができます.例えば:
ProxyPass /folder/exception !
ProxyPass /folder http://****.com/floder
folder/exception以外のすべてのhttp:/***.com/foderに対する要求を代行します.URLを書き換える方法でも実現できます.
1 apacheの配置ファイルhttpd.com nfを修正し、次の三行前の菵号を削除する.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
2 server configまたはvirtual hostに追加する:<Location /folder>
SetHandler proxy-server
order allow,deny
Allow from all
</Location>
RewriteEngine on
RewriteRule ^/folder/(.*)$ http://****.com/floder [L,R=301,P,NC]
コメント:Location
コマンドは、URLに基づくアクセス制御を提供しており、本域下の/folderディレクトリ下の任意のリソースに対するアクセスは、まずproxy-serverというhandlerによって処理される.SetHandler proxy-server
コマンドは、一致するすべてのファイルをプロキシサーバで強制的に処理することである.RewriteEngine on
コマンドは、書き換えエンジンを開くことを意味する.RewriteRule
コマンドは書き換え規則である.last|L
このフラグは、現在書き換えられているURLが後続規則によって書き換えられないようにするために使用されます.redirect|R [=code]
Substitutionの場合http://thishost[:thisport]/(新しいURLをURIにする)の冒頭に、外部リダイレクトを強制的に実行することができます.デフォルトはHTTP応答コード302で、私は通常301に指定します.proxy|P
このフラグは、代替成分を内部的にブローカ要求として送信するように強制され、このrewriteがmod_を通じていることを示している.proxyエージェントは、外部からのリダイレクトではなく、過去に行く.nocase|NC
は、大文字小文字を無視し、つまり、Patternが現在のURLと一致する場合、’A−Z’と’a−z’は区別されない.