1

すべてのページが https として提供されることになっている SSL を使用する WSS 3.0 システムがあります。ほとんどすべてのページは https として表示されますが、場合によってはリンクをクリックすると、ページの http バージョンが表示されます (読み込まれません)。そのような場合、ページをロードするには、「s」を手動で挿入する必要があります。これが発生する場所は次のとおりです。

  • /_layouts/newgrp.aspx : 新しいグループを作成しようとすると、https のはずなのにhttp://server/_layouts/newgroup.aspxに移動します。ページが http で読み込まれません。URLを手動で変更するとロードされます。
  • /_layouts/edtgrp.aspx : newgrp.aspx と同じもの
  • ドキュメント ライブラリにアクセスしてファイルのバージョン履歴を表示すると、そのファイルの個々のバージョンへの URL は http です。興味深いことに、ブラウザーのステータス バーにカーソルを合わせると http も表示されます (リンクをクリックしたときではなく、リンクを生成したときに SharePoint が混乱するようです)。

これを修正するために、http のインスタンスを検索して https に置き換える JavaScript を DOM に追加しようとしました。これは場合によっては機能しますが、javascript が到達できない場所がいくつかあります。たとえば、SharePoint が POST 要求に応答してターゲット URL を提供する場合、これは newgrp/edtgrp.aspx の場合だと思います。

また、ページを http から https にリダイレクトする ISAPI フィルターを追加しようとしました。これによりリダイレクト ループが発生するようですが、いずれにせよ、そのようなフィルタがクエリ文字列または POST 情報を保持するかどうかはわかりません。

誰もこの問題を見たことがありますか?

更新: Squid から ISA に切り替えましたが、問題はバージョン履歴で引き続き発生しますが、新しいグループや編集グループでは発生しません。AAM 設定の変更による改善はまだ見られません。

これが ISA で発生している場所:

  • リストまたはドキュメント ライブラリのアイテムの下にある [バージョン履歴]
  • リストまたはドキュメント ライブラリのアイテムの下にある [アクセス許可の管理]
  • リストまたはドキュメント ライブラリのアイテムの下にある [通知]
  • 「ユーザーとグループ」ページの「ユーザーの追加」メニュー項目
  • 「ユーザーとグループ」ページの「グループ設定」メニュー項目
  • [ユーザーとグループ] ページの [グループのクイック起動の編集] メニュー項目
  • 「ユーザーとグループ」ページの「グループの設定」メニュー項目
  • 「人とグループ」ページの「リスト設定」メニュー項目
4

5 に答える 5

3

これが正しいかどうかはわかりませんが、代替アクセスマッピングをチェックして、httpではなくhttpsと表示されていることを確認しましたか?

于 2009-03-25T16:32:59.580 に答える
1

リンクが常に に変更されるように、 HTTP モジュールを使用してSharePoint の出力を変更しhttpsます。このようなモジュールは、IIS にプラグインして、レンダリングされたすべての HTML を変更できます。この手法を使用して SharePoint XHTML に準拠させたところ、うまく機能しました。

さらに良いことに、ほとんどすべての作業はすでに完了しています。UrlRewritingNetモジュールはオープン ソースであり、無料でダウンロードできますSharePoint サイトでは問題なく動作するはずです。このツールには優れたドキュメントがあり、正規表現を使用して変更する URL を照合します。あなたのケースに合わせて書くのはとても簡単なはず^http://です。必要に応じて利用できる、より多くの高度なオプションもあります。

自分で書きたい場合は、15 Seconds サイトにRewrite.NET -- A URL Rewriting Engine for .NETという優れた記事があります。

最後に、IIS 7 を使用している場合は、そのURL Rewrite Moduleを試すことができます。私自身はこれを使用したことがなく、SharePoint で機能するかどうかもわかりませんが、利用可能な最も UI 主導型のソリューションです。

于 2009-11-02T12:34:24.487 に答える
0

Add a redirect in IIS from http to https. Every time you access that page it will redirect you to your https page instead.

I would also suggest placing WSS on another server to see if you have the same problems. If you don't, you might need to rebuild/migrate your stuff over.

于 2009-11-02T08:27:00.077 に答える
0

アレックスはこの質問に、一般的にうまくいくと私が考えるアプローチで答えました。これを具体的に修正した方法を次に示します。

SharePoint aspx ページが読み込まれると、変数 ctx でインスタンス化される ContextInfo (init.js で定義) 型の JavaScript 構造が読み込まれるように見えます。その構造には httpRoot というメンバーがあり、後でさまざまなドロップダウンでメニュー項目を作成するために core.js で使用されます。

この ctx.httpRoot は、何らかの理由で、SharePoint によって作成された aspx ファイルの javascript に次のような行で設定されています。

    ctx.HttpRoot = "http:\u002f\u002fsubdomain.domain.com";

はい、Unicode スラッシュがあり、https の代わりに http があります。理由がわかりません。しかし、この JavaScript の行を修正すると問題が解決するようです。

http:\u002f\u002f\ を https:\u002f\u002f\ に変換する ISA の URL 変換ルールを追加して、行を変更しました。同じ置換を行う HTTP モジュールも機能すると思います。または、ある時点で変数を再割り当てする適切に配置されたJavaScript。

これは理想的ではなく、これらのリンクを修正するためのより適切な方法があるはずです。

于 2009-11-02T20:46:27.647 に答える