Rumah > Artikel > alat pembangunan > Sebab dan penyelesaian mengapa GitLab yang dikonfigurasikan dalam mesin maya tidak boleh diakses
Dalam pembangunan harian, ramai orang mungkin menggunakan mesin maya untuk membina beberapa persekitaran pembangunan, seperti membina gudang persendirian GitLab untuk memudahkan pengurusan kod dalaman dalam perusahaan. Walau bagaimanapun, semasa proses konfigurasi, sesetengah orang akan menghadapi masalah: GitLab yang dikonfigurasikan dalam mesin maya tidak boleh diakses. Artikel ini akan menerangkan penyelesaian kepada masalah ini secara terperinci dari beberapa aspek.
1. Sahkan konfigurasi rangkaian
Pertama, kita perlu mengesahkan sama ada konfigurasi rangkaian mesin maya adalah betul. Dari segi konfigurasi rangkaian, mesin maya boleh memilih daripada pelbagai kaedah sambungan rangkaian, seperti penyambungan, NAT, rangkaian hos, dll. Kaedah sambungan jambatan menghubungkan terus mesin maya ke LAN di mana hos berada, manakala NAT menggunakan alamat IP mesin maya untuk berkomunikasi dengan hos. Oleh itu, jika kita memilih kaedah sambungan NAT, kita tidak boleh terus menggunakan alamat IP hos untuk mengakses GitLab dalam mesin maya, kerana dengan cara ini IP mesin maya ditetapkan oleh mesin maya itu sendiri. Jika kita memilih kaedah sambungan jambatan, kita perlu memberi perhatian sama ada segmen rangkaian tempat mesin maya berada berada dalam segmen rangkaian yang sama dengan hos. Jika mereka tidak berada dalam segmen rangkaian yang sama, anda perlu mengkonfigurasi lagi get laluan dan maklumat lain dalam rangkaian mesin maya.
2. Sahkan konfigurasi GitLab
Jika tiada masalah dengan konfigurasi sambungan rangkaian, mungkin terdapat masalah dengan konfigurasi GitLab. Kami perlu mengesahkan sama ada nama domain atau alamat IP GitLab ditetapkan dengan betul. Anda boleh menguji kebolehcapaian GitLab dengan menggunakan arahan curl dalam mesin maya, contohnya, gunakan arahan berikut:
curl http://localhost/
Jika halaman utama GitLab dikembalikan, ini bermakna GitLab dikonfigurasikan dengan betul pada pelayan tempatan. Ia boleh diakses melalui localhost atau IP tempatan. Tetapi jika ia diakses pada mesin lain, anda perlu mengkonfigurasi GitLab dalam mesin maya untuk boleh diakses pada rangkaian Contohnya, tambahkan konfigurasi berikut pada fail konfigurasi:
gitlab_rails['gitlab_host'] = '192.168.0.100'
di mana 192.168.0.100. Ia adalah alamat IP yang diberikan kepada mesin maya Anda hanya perlu menggunakan alamat ini untuk mengakses GitLab pada mesin lain.
3. Sahkan konfigurasi tembok api
Akhir sekali, kita perlu menyemak sama ada terdapat sebarang masalah dengan konfigurasi tembok api. Apabila membina GitLab dalam mesin maya, anda mungkin perlu membuka beberapa port, seperti 22 (SSH), 80 (HTTP), 443 (HTTPS), dll. Jika anda telah memasang perisian tembok api, anda perlu membenarkan akses kepada port ini semasa mengkonfigurasi tembok api. Sebagai contoh, dalam centos7, anda boleh membuka port yang sepadan melalui arahan berikut:
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --reload
Jika anda masih tidak dapat mengaksesnya selepas menyelesaikan masalah langkah di atas, anda boleh mempertimbangkan untuk melaksanakan arahan berikut untuk mengosongkan cache DNS dalam mesin maya:
$ sudo systemctl restart dnsmasq
Sebab yang mungkin ialah rekod DNS tidak sah dan cache DNS perlu dimuat semula untuk mendapatkan semula rekod terkini daripada perkhidmatan DNS baharu.
Ringkasan
Semasa proses mengkonfigurasi GitLab dalam mesin maya, adalah perkara biasa untuk menghadapi ketidakbolehcapaian. Walau bagaimanapun, selagi kita menyiasat dan menyelesaikannya dengan teliti, kita masih boleh menikmati kemudahan dan kecekapan yang dibawa oleh mesin maya. Oleh itu, kaedah di atas hanya menyediakan beberapa penyelesaian yang mungkin, dan pembaca boleh memilih dan mencubanya mengikut situasi sebenar.
Atas ialah kandungan terperinci Sebab dan penyelesaian mengapa GitLab yang dikonfigurasikan dalam mesin maya tidak boleh diakses. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!