web-dev-qa-db-ja.com

IIS URLにポートがあるサイトをポートのないURLにリダイレクトまたは書き換える方法は?

これがStackOverflowの適切な部分であるかどうかは100%わかりませんが、私にとっては最も理にかなっています。そうでなければごめんなさい!

現在、IISポート7500のHTTPSで構成されたサイトがあります。次のURLを使用してこのサイトにアクセスできます: https://portal.company.com:75 =。

URLの末尾にあるポート番号を削除して、ユーザーが https://portal.company.com ...を使用してこのサイトにアクセスできるようにします。

私はIISの完全な初心者ですが、私が試したのはHTTPリダイレクトです。これをこのIISサイトで使用すると、portal.company.com:7500にアクセスしたユーザーをリダイレクトします。私が必要としているものではない他のサイト。私が持っているもう1つのことは、URLportal.company.comにアクセスする目的で別のIISサイトを作成し、ヒットしたときにそれは私のportal.company.com:7500にリダイレクトされますが、これが最善のアプローチであるかどうかはわかりません。

だから私の質問は、上記の動作を達成するための私のオプションは何ですか、そして最良の/推奨されるアプローチは何ですか?

私はこれまでURL書き換えを試したことがありませんが、返信を待つ間、これを調べます。ありがとう!

Windows Server2008マシンでIIS Managerを使用する。

1
user2573690

これを試して

<configuration>
<system.webServer>
    <rewrite>
           <rules>
            <rule name="removePort" stopProcessing="true">
                <match url="^(http(s)?://)?(portal\.company\.com):7500(/.*)?$" />
                <action type="Redirect" url="https://{R:3}/{R:4}" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
1
zman

他の回答のコメントにあるように、ポート443ですでに別のサイトが実行されている場合は、そのアドレスのポート:443にサイトをバインドできるように、別のIPアドレスが必要になり、それに応じてDNSレコードを変更します。少なくともSNIが完全に実行可能になり、Microsoftがそれに応じてソフトウェアを更新するまでは、IISでHTTPSを使用して同じソケットに複数のサイトをバインドすることはできません。

例外は、両方のサイトで有効なワイルドカードまたはASN証明書を実行している場合で、 この手順 に従います。

これは、訪問者がポートを指定せずにブラウザからHTTPS経由でサイトにアクセスできるようにすることを目標としていることを前提としています。私があなたの質問を誤解した場合、答えは正確ではありません:)

0
phoebus