Osticket: Token CSRF rusak saat di belakang proxy terbalik

Dibuat pada 28 Mar 2014  ·  6Komentar  ·  Sumber: osTicket/osTicket

Mencoba menggunakan osTicket (v1.8.1-dpr) di belakang proxy terbalik, dengan andal mendapatkan

 Invalid CSRF Token __CSRFToken__
Invalid CSRF token [b4cab350cfce13ee10a8cd27445e7f4466db039e] on
(redacted)

penyebabnya tampaknya adalah javascript osticket yang menghasilkan token berdasarkan IP browser, yang tentu saja berbeda dari IP proxy terbalik ketika token diverifikasi di sisi server.

Proxy terbalik adalah instance Apache di ec2

question

Komentar yang paling membantu

Saya tahu posting ini sudah lebih dari satu tahun, tetapi muncul beberapa kali ketika mencoba mengatur proxy terbalik saya dengan osTicket. Saya menggunakan NginX sebagai proxy terbalik saya (saya tahu, tidak didukung, dll.) Dengan beberapa penyesuaian, saya dapat melewati kesalahan "Token CSRF Tidak Valid".

di blok lokasi saya, saya perlu menambahkan beberapa pengaturan tajuk:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

Pass_header tampaknya membuatnya berfungsi, tetapi pengaturan lain akan memastikan server Anda menerima alamat IP yang benar. Saya yakin Anda dapat mengatur pengaturan itu di server atau blok http juga, tetapi ini memenuhi kebutuhan saya.

Semua 6 komentar

Proksi terbalik Anda harus mengirim X-Forwarded-For . Melakukannya?

Ya, proxy terbalik mengatur X-Forwarded-For ke alamat yang benar. Klien berada di belakang NAT, sehingga Javascript berpotensi mendapatkan alamat RFC1918, jika mendapatkan alamat antarmuka terikat (tidak jelas apakah itu terjadi).

Dapatkah Anda memverifikasi pengaturan cookie antara server proxy (tempat osTicket berjalan dan klien)? Periksa domain cookie dan jalur cookie dari cookie yang dikembalikan dan pastikan tidak ada server di antaranya yang melakukan pengaturan cookie atau cookie.

Saya akan memeriksanya, tetapi itu bisa jadi di mana masalahnya (domain Host internal dan domain sebagai proxy sangat berbeda). Saya akan memperbarui dalam beberapa jam.

Saya tahu posting ini sudah lebih dari satu tahun, tetapi muncul beberapa kali ketika mencoba mengatur proxy terbalik saya dengan osTicket. Saya menggunakan NginX sebagai proxy terbalik saya (saya tahu, tidak didukung, dll.) Dengan beberapa penyesuaian, saya dapat melewati kesalahan "Token CSRF Tidak Valid".

di blok lokasi saya, saya perlu menambahkan beberapa pengaturan tajuk:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

Pass_header tampaknya membuatnya berfungsi, tetapi pengaturan lain akan memastikan server Anda menerima alamat IP yang benar. Saya yakin Anda dapat mengatur pengaturan itu di server atau blok http juga, tetapi ini memenuhi kebutuhan saya.

@webbe kami tidak secara resmi mendukung nginx sebagai server untuk osTicket. Anda dapat menggunakan apa pun yang Anda inginkan untuk proxy terbalik. Secara pribadi, saya lebih suka HAProxy. Terima kasih telah memposting info konfigurasi Anda, dan senang Anda membuat pengaturan Anda berfungsi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat