エッジ暗号化プロキシを介してパスワードリセット ($pwd_reset.do) のために Captcha にアクセスしようとすると、「サイト所有者のエラー:サイトキーのドメインが無効です」というメッセージで失敗するIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } エッジ暗号化プロキシ経由でパスワードリセット ($pwd_reset.do) のために Captcha にアクセスしようとすると、「サイト所有者のエラー:サイトキーのドメインが無効です」というメッセージで失敗する この問題は次のように再現できます。 デモデータを使用してパスワードリセットプラグインをアクティブ化します。 [ パスワードリセット] > [プロパティ] > [プロセス] > に移動し、[セルフサービスプロセス 1 のデモ] を選択します。 以下の値を設定します: アクティブすべてのユーザーに適用パブリックアクセスキャプチャを表示 [保存] をクリックします。 Edge プロキシの URL を介して、デモセルフサービスプロセス 1 で定義されているページに移動します。 https://<edge_proxy_host:<port>/$pwd_reset.do?sysparm_url=demo1 captcha に次のエラーが表示されます。 ERROR for site owner:Invalid domain for site key たとえば https://<instance_name>.service-now.com/$pwd_reset.do?sysparm_url=demo1 に移動して Edge プロキシを経由しない場合、「私はロボットではありません」というキャプチャが表示されます。 Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題は、パスワードリセットプラグインでデフォルトで設定されているGoogle CAPTCHAの使用が原因です。詳細については、ドキュメントの「Google reCAPTCHA の構成」を参照してください。 インスタンスの以下のシステムプロパティは、service-now.comドメインでのみ動作するように設定されています。 google.captcha.secretgoogle.captcha.site_key そのため、service-now.comドメインを使用するインスタンスURL経由でアクセスした場合、CAPTCHAは正しく動作します。しかし、プロキシ経由でアクセスした場合、service-now.comドメインではなくプロキシのIPアドレス/ホスト名が表示されるため、Googleから以下のエラー応答が返されます。 <!DOCTYPE HTML><html dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><style type="text/css">@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local('Roboto Regular'), local('Roboto-Regular'), url(//fonts.gstatic.com/s/roboto/v15/2UX7WLTfW3W8TclTUvlFyQ.woff) format('woff'); }@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local('Roboto Medium'), local('Roboto-Medium'), url(//fonts.gstatic.com/s/roboto/v15/RxZJdnzeo3R5zSexge8UUT8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); }@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 900; src: local('Roboto Black'), local('Roboto-Black'), url(//fonts.gstatic.com/s/roboto/v15/mnpfi9pxYH-Go5UiibESIj8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); } </style><link rel="stylesheet" type="text/css" href="https://www.gstatic.com/recaptcha/api2/r20161102163809/styles__ltr.css"><script></script></head><body><script>recaptcha.anchor.ErrorMain.init("[\x22ainput\x22,,,,,,[1,1,1]\n,\x22Invalid domain for site key\x22,6]\n");</script></body></html> Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } この問題を解決するには、2 つのオプションがあります。 これを Edge プロキシアドレスから機能させ、インスタンスのホスト名アドレスからは機能しないようにするには、次の手順を実行します。 Google reCAPTCHA サイト (https://www.google.com/recaptcha/admin) にアクセスし、Google アカウントでログインして、[reCAPTCHA を取得] を選択します。ラベルとドメイン (Edge プロキシの IP アドレスまたはホスト名) を入力し、[登録] を選択します。次の画面には、サイトキーとシークレットキーが表示されます。既存のシステムプロパティの [XML >エクスポート (このレコード)] を選択します。これらのファイル (service-now.com ドメインの値) を保持します。 google.captcha.secretgoogle.captcha.site_key google.captcha.secret プロパティで、2 番目の } より後の現在の値を (残りは 2 番目の } の前に保持します) 指定されたシークレットキーに置き換えて保存します。google.captcha.site_keyプロパティで、現在の値を指定されたサイトキーに置き換えて保存します。Edge プロキシを介したアクセスは正常に機能するようになりましたが、インスタンスのホスト名を介してアクセスすると、Edge プロキシアクセスで最初に表示されたエラーメッセージが表示されます。Google recaptcha とインスタンスは、1 つのドメインからのみ機能するように構成できるため、Edge プロキシまたはインスタンスのホスト名のいずれかで機能しますが、両方では機能しません。 Edge プロキシとインスタンスホスト名 URL の両方から CAPTCHA を表示するには、Google reCAPTCHA ではなく、ベース ServiceNow システムで提供される CAPTCHA サービスを使用します。ベースシステムの CAPTCHA サービスに切り替えるには、システムプロパティ password_reset.captcha.google.enabled を true から false に変更して保存します。