ホーム>source

Netscale Gatewayのリバースプロキシとして機能するApacheがあります。動作することもありますが、多くの場合、リクエストは500で終了します。ログは常に同じエラータイプを示します。

[Mon Aug 20 12:51:24.541905 2018] [http:error] [pid 4919:tid 140600024221440] [client 192.168.22.194:40187] AH02430: Response header 'Set-Cookie' value of 'NSC_TASS=\x0fi\xd4a\xbd\x8e\xcf\xdek\x18\xcd:\x01\xc6d\xf1\xe6;HttpOnly;Path=/;Secure' contains invalid characters, aborting request
[Mon Aug 20 13:03:09.550947 2018] [http:error] [pid 5023:tid 140354590320384] [client 192.168.22.194:24541] AH02430: Response header 'Set-Cookie' value of 'NSC_TASS=le8M1TpPxu5GG1h8nEom8vsA\xe3\x06\x87\x8fnId=&janusWebEvent=PDClass.getJanusServerPage_webEvent_nextPhaseGC2%2C114078_pid_pdPreview_imgPath_res133136%2Fimg%2F_cid_10_clName_ADV_oidHi_10_oidLow_114073;HttpOnly;Path=/;Secure' contains invalid characters, aborting request
[Mon Aug 20 13:09:15.239058 2018] [http:error] [pid 5330:tid 140134346917632] [client 192.168.22.194:40606] AH02430: Response header 'Set-Cookie' value of 'NSC_TASS=\x95\x15\xa91e\xf8\xc8\x96\xdfI\x02\x89\xf4y\x05\xf2&;HttpOnly;Path=/;Secure' contains invalid characters, aborting request

バックスラッシュは許可されていないため、Cookie値のバックスラッシュだと思います。 Apacheはこれの検証をスキップできますか、Cookie値をurl-encoding \ utf-8 ...値に書き換えるルールを作成できますか?

私の設定:

<VirtualHost *:80> # a balancer managed the ssl
    ServerName ng.subdomain.domain.tld
    SSLProxyEngine On
    SSLProxyVerify none 
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ProxyRequests Off
    #ProxyPreserveHost On
    ProxyPass / https://ng.domain2.tld/
    ProxyPassReverse / https://ng.domain2.tld/
    #ProxyPass / wss://ng.domain2.tld/
    #ProxyPassReverse / wss://ng.domain2.tld/

    ProxyPassReverseCookieDomain ng.subdomain.domain.tld ng.domain2.tld
</VirtualHost>

あなたの答え
  • 解決した方法 # 1

    おそらく、HttpProtocolOptionsをLenientMethodsに設定できます。デフォルトでStrictに設定されている場合があります。これは、プロキシtargterが無効なリストルに対して501を返す場合にのみ機能します。

    詳細については、HttpProtocolOptionsのApacheドキュメントを参照してください。

  • 解決した方法 # 2

    簡単な解決策は、単にネットスケーラーにセッションCookieを暗号化させることです。

    https://support.citrix.com/article/CTX220162

  • 解決した方法 # 3

    上記のようにセッションCookieを暗号化するには:

    lbパラメーターの設定-useSecuredPersistenceCookie Enabled-cookiePassphrase

    例:

    lbパラメーターの設定-useSecuredPersistenceCookie Enabled-cookiePassphraseテスト

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ &#39;&lt;&#39; not supported between instances of &#39;method&#39; and &#39;method&#39; - 「<」は「method」と「method」のインスタンス間ではサポートされていません。Python、Django