最近、SHA256署名アルゴリズムを使用してGoDaddyワイルドカード証明書を再発行しました(FYIは、キーを再入力しなくても、72時間以内に古い証明書を取り消すため、とにかくキーを再入力する必要があります)。この証明書は、RemoteApp、ターミナルサーバーのRDP、RDGateway、およびRDWeb(IIS)に使用します。
特定のターミナルサーバー(別名セッションホストサーバー)の[RemoteAppManager]-> [デジタル署名設定]で新しいワイルドカード証明書に変更すると、そのターミナルサーバーで公開されたアプリのRDWebからの接続が失敗するユーザーもいますが、 .rdpファイルは、すべてのユーザーにとって問題なく機能します。さらに、これは私が今まで見た中で最も奇妙なことです間違ったユーザーがゲートウェイでのアクセスを拒否されていると記録されますこの1つの設定で証明書を古い失効した証明書に戻すと、すべてが機能します。
作業設定:
機能しない設定:
ユーザー"CONTOSO\bob"を使用してRDWebから起動すると、次のエラーが生成されます。
リモートデスクトップは、次のいずれかの理由でリモートコンピューター「ts1.contoso.com」に接続できません:1)ユーザーアカウントがRDゲートウェイのアクセス許可リストにリストされていない2)可能性がありますリモートコンピュータをNetBIOS形式で指定しました...
イベントログ「Microsoft-Windows-TerminalServices-Gateway/Operational」を見ると、次のエラーが表示されます。
ユーザー"CONTOSO\alice"は、クライアントコンピューター "123.123.123.123"で、リソース承認ポリシーの要件を満たしていないため、リソース "ts1"への承認がありませんでした。 contoso.com」。次のエラーが発生しました:「23002」。
何が起こっている? RemoteAppの署名証明書を変更すると、ゲートウェイはこれが接続している別のユーザーであると見なすのはなぜですか?
同じ問題が発生した後、このページが見つかりました。私たちにとっての解決策は、ファイアウォールのループバック(別名ヘアピンNAT)にポート3389を追加することでした。
いくつかの追加の詳細:
証明書を置き換えることは、最初にインストールするよりもトリッキーでしたが、私たちはそれを正しく行ったと思い、アプリは1〜2日は問題なく動作しました。ユーザーは起動時にエラーを受け取り始め、ここでPowerShellスクリプトを使用することになりました https://gallery.technet.Microsoft.com/Change-published-FQDN-for-2a029b8 FQDNを再公開しますサーバーの。
このスクリプトは、これまで指定されたことのない構成の一部にFQDNを設定している必要があると思います。これにより、RDゲートウェイはFQDNによって自身を参照し、要求を渡します。 Edgeファイアウォールが着信要求とループバック要求の両方に80と443しか許可しなかったため、これらの要求は失敗しました。
ファイアウォールのループバックルールにポート3389を追加すると、問題はすぐに解決しました。