GNU/Linux >> Belajar Linux >  >> Linux

RT:Pelacak Permintaan – Kesalahan:rt-mailgate – Kesalahan server tidak ditentukan – 500 Tidak dapat terhubung atau memverifikasi Sertifikat [Terpecahkan]

Saya telah menginstal Request Tracker (RT) di kantor saya dan itu berfungsi dengan baik hingga hari ini. Tiba-tiba, itu berhenti menerima permintaan tiket melalui Mail dan tidak ada email terpental atau kesalahan yang ditampilkan kepada pengguna/peminta. Inilah cara saya men-debug masalah – hal pertama yang saya lakukan adalah memverifikasi apakah permintaan email telah mencapai mesin RT (dari server email) dan memang berfungsi dengan baik. Namun kemudian, tiketnya tidak dibuat dan untungnya, /var/log/maillog memiliki pesan kesalahan di bawah ini dan pesan itu ditangkap saat membuat tiket dengan rt-mailgate skrip perl.

Jun 10 17:03:50 support sendmail[1953]: t5ABXovT001952: to="|/opt/rt3/bin/rt-mailgate --queue default --action correspond --url http://rt.techglimpse.com/", ctladdr=<[email protected]> (8/0), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=34931, dsn=4.0.0, stat=Deferred: prog mailer (/usr/sbin/smrsh) exited with EX_TEMPFAIL

Untuk mendapatkan kesalahan terperinci, saya menggunakan –debug opsi untuk rt-mailgate script seperti di bawah ini:

/opt/rt3/bin/rt-mailgate --queue default --action correspond --url https://rt.techglimpse.com:443/ --debug < test

Catatan:'test' adalah file sampel dengan contoh teks/pesan.

dan inilah kesalahan yang diperoleh :

500 Can't connect to rt.techglimpse.com:443
(certificate verify failed)

/opt/rt3/bin/rt-mailgate: undefined server error

Dengan pesan error ini, kesimpulannya adalah bahwa sertifikat SSL yang digunakan untuk Instance RT telah memicu error ini. Ada dua hal yang perlu diverifikasi terkait sertifikat SSL.

1. Verifikasi sertifikat SSL yang digunakan oleh instance RT :

openssl verify /etc/httpd/conf/ssl.crt/rt.techglimpse.com.crt

Perintah di atas mengembalikan status "OK". Anehnya, ketika RT diakses melalui https melalui browser web, tidak ada masalah (tetapi tidak berfungsi di baris perintah). Untuk memperjelas bahwa fungsi dari beberapa modul perl tidak rusak, saya baru saja memperbarui modul perl di bawah ini melalui cpan:

LWP::UserAgent, Crypt::SSLeay, LWP::Protocol::https HTTP::Cookies

Tapi tetap saja masalah aslinya belum terpecahkan. Setelah googling selama satu jam, saya menemukan tambalan untuk rt-mailgate, untuk memperbaiki verifikasi SSL di POSIX – baik dengan menyetel variabel lingkungan PERL_LWP_SSL_VERIFY_HOSTNAMES atau beri tahu agen pengguna untuk mengabaikan verifikasi nama host dan SSL menggunakan opsi seperti yang ditunjukkan di bawah ini. Untuk melakukannya, cukup telusuri baris di bawah ini di /opt/rt3/bin/rt-mailgate

my $ua = new LWP::UserAgent;

Tambahkan baris di bawah ini yang memberi tahu agen pengguna tentang jalur CA ROOT Anda:

$ua->ssl_opts( verify_hostnames => 0 );

Peringatan : Perhatikan saja di sini, karena prosedur di atas akan membuka kerentanan. Ini akan berfungsi, karena penggunaan sertifikat diabaikan, tetapi server mungkin rentan terhadap serangan MITM.

2. Verifikasi kepercayaan sertifikat SSL yang digunakan instance RT?

Dalam kasus saya, saya menggunakan sertifikat yang ditandatangani sendiri dan (saya belum membuat Sertifikat CA ROOT atau mungkin saya tidak dapat melacaknya) yang tidak tepercaya! Jika Anda masih ingin menggunakan sertifikat yang ditandatangani sendiri, Anda dapat mengikuti Membuat Otoritas Sertifikat SSL Anda Sendiri (dan Membuang Sertifikat yang Ditandatangani Sendiri) untuk membuat ROOT CA dan sertifikat yang ditandatangani sendiri. Salin ROOT CA ke lokasi /etc/pki/CA/certs . Jika lokasi ini tidak ada, maka Anda perlu menginstal ca-certificates-2010.63-3.el6_1.5.noarch Paket RPM.

Akhirnya, saya bisa menjalankan rt-mailgate berhasil. Jika CA ROOT Anda tidak berada di lokasi standar, Anda dapat menentukannya di rt-mailgate seperti yang disarankan oleh posting blog otak. Temukan baris di bawah ini di /opt/rt3/bin/rt-mailgate

my $ua = new LWP::UserAgent;

Tambahkan baris di bawah ini yang memberi tahu agen pengguna tentang jalur CA ROOT Anda.

$ua->ssl_opts( SSL_ca_file => '/path/to/root.crt' );

Catatan: Ingatlah untuk mengatur jalur CA ROOT yang benar pada baris di atas.

Itu dia! Semoga pengalaman saya dapat membantu seseorang di luar sana.


Linux
  1. Terhubung ke server cloud

  2. Kesalahan Server MySQL – “Tidak Dapat Membuat Utas Baru (errno 11)”

  3. Tidak dapat terhubung ke kesalahan server MySQL 111

  1. kesalahan:'Tidak dapat terhubung ke server MySQL lokal melalui soket '/var/run/mysqld/mysqld.sock' (2)' -- Hilang /var/run/mysqld/mysqld.sock

  2. Kesalahan 500 saat mengunggah proyek Laravel ke server

  3. Bisakah saya terhubung ke mesin Windows dari shell Linux?

  1. phpMyAdmin "500 kesalahan server internal"

  2. Pemecahan Masalah Pelacak Permintaan versi 3 Kesalahan – Mencoba untuk membebaskan skalar yang tidak direferensikan, juru bahasa Perl

  3. Cara memperbaiki Panggilan ke fungsi yang tidak ditentukan apc_fetch() – PHP Fatal Error [Terpecahkan]