Score:0

Apache mod_auth_form ส่ง POST ไปยังคำขอพร็อกซีย้อนกลับที่สกัดกั้น

ธง us

จากเอกสาร:

เมื่อผู้ใช้กรอกรายละเอียดการเข้าสู่ระบบแล้ว แบบฟอร์มจะส่งคำขอ HTTP POST ไปยัง URL ที่ป้องกันด้วยรหัสผ่านเดิม mod_auth_form จะสกัดกั้นคำขอ POST นี้ และหากพบฟิลด์ HTML สำหรับชื่อผู้ใช้และรหัสผ่าน ผู้ใช้จะเข้าสู่ระบบ และ URL ที่ป้องกันด้วยรหัสผ่านเดิมจะถูกส่งคืนให้กับผู้ใช้เป็นคำขอ GET

ฉันมีงานที่พอร์ต 45001 และ apache ย้อนกลับพร็อกซีกับมัน ฉันใช้การรับรองความถูกต้องของแบบฟอร์มและ เอกสารข้อผิดพลาด เพื่อบังคับให้เข้าสู่ระบบ นี่คือการกำหนดค่าของฉัน:

<VirtualHost myip:44302>
    ServerName myserver.com

    # Pass auth info
    RequestHeader set X-Remote-User %{REMOTE_USER}s

    # Login page is directly on the server - don't use reverse proxy
    ProxyPass /login/ !

    # Proxy all requests to the app running in a docker container
    ProxyPreserveHost On
    ProxyPass / http://localhost:45001/
    ProxyPassReverse / http://localhost:45001/

    # Require auth for all requests except the login page
    <LocationMatch ^/(?!login).*$>
        AuthType form
        AuthName "login"

        AuthFormProvider ldap
        AuthLDAPURL <url>
        AuthLDAPBindAuthoritative off

        # Redirecting to login page if auth is needed
        ErrorDocument 401 /login/index.html

        # If authorization fails, return 403 insead of 401
        AuthzSendForbiddenOnFailure On

        # Use session cookie
        Session On
        SessionCookieName session path=/;httponly;
        SessionCryptoPassphrase <passphrase>

        Require valid-user
    </LocationMatch>
</VirtualHost>

แบบฟอร์ม (ลดความซับซ้อนของคลาสและตัวแบ่ง div):

<form action="" method="POST">
    <input name="httpd_username" type="text">

    <input name="httpd_password" type="password">

    <button type="submit">
        Login
    </button>
</form>

สำหรับสถานการณ์อื่นๆ ที่ฉันไม่ได้ใช้พร็อกซีย้อนกลับ เวิร์กโฟลว์ถูกต้อง:

  1. เข้าถึง URL
  2. ตรวจสอบคุกกี้เซสชัน
    1. ขอเข้าสู่ระบบหากจำเป็น
    2. ส่ง HTTP รับ ร้องขอไปยัง URL สกัดกั้นเดิม

แต่เมื่อฉันใช้ reverse-proxy แทนที่จะส่ง HTTP รับ ตามคำขอที่ถูกสกัดกั้น apache จะส่ง โพสต์ HTTP. แอปที่อยู่เบื้องหลังพร็อกซีใช้งานไม่ได้ โพสต์ และพิมพ์ข้อผิดพลาด

หากผู้ใช้รีเฟรชหน้า ทุกอย่างจะทำงานได้อย่างถูกต้องเนื่องจากคุกกี้เซสชันถูกตั้งค่าไว้แล้ว

อะไรเป็นสาเหตุของพฤติกรรมที่ไม่เหมาะสมนี้ และ/หรือ ฉันจะกำหนดค่าการรับรองความถูกต้องนี้ให้ทำงานอย่างถูกต้องได้อย่างไร

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา