日常の開発では、企業内の内部コードの管理を容易にするために GitLab プライベート ウェアハウスを構築するなど、仮想マシンを使用して開発環境を構築する人が多いかもしれません。ただし、構成プロセス中に、仮想マシンに構成された GitLab にアクセスできないという問題に遭遇する人もいます。この記事では、この問題の解決策をいくつかの側面から詳しく説明します。
1. ネットワーク構成の確認
まず、仮想マシンのネットワーク構成が正しいかどうかを確認する必要があります。ネットワーク構成に関しては、仮想マシンはブリッジ、NAT、ホスト ネットワークなどのさまざまなネットワーク接続方法から選択できます。ブリッジ接続方式では仮想マシンをホストが配置されている LAN に直接接続しますが、NAT では仮想マシンの IP アドレスを使用してホストと通信します。したがって、NAT 接続方法を選択した場合、仮想マシンの IP は仮想マシン自体によって割り当てられるため、ホストの IP アドレスを直接使用して仮想マシン内の GitLab にアクセスすることはできません。ブリッジ接続方法を選択する場合は、仮想マシンが配置されているネットワーク セグメントがホストと同じネットワーク セグメント内にあるかどうかに注意する必要があります。同じネットワーク セグメント上にない場合は、仮想マシン ネットワーク内のゲートウェイとその他の情報をさらに構成する必要があります。
2. GitLab の設定を確認する
ネットワーク接続設定に問題がない場合は、GitLab の設定に問題がある可能性があります。 GitLab のドメイン名または IP アドレスが正しく設定されているかを確認する必要があります。仮想マシンでcurlコマンドを使用して、GitLabのアクセシビリティをテストできます。たとえば、次のコマンドを使用します。
curl http://localhost/
GitLabのホームページが返された場合は、GitLabがローカルで正しく構成されていることを意味します。 localhost またはローカル IP を使用してアクセスできます。ただし、別のマシンでアクセスする場合は、ネットワーク上でアクセスできるように仮想マシンの GitLab を構成する必要があります。たとえば、次の構成を構成ファイルに追加します:
gitlab_rails['gitlab_host'] = '192.168.0.100'
ここで、192.168.0.100 は仮想マシン マシンに割り当てられた IP アドレスは、このアドレスを通じてのみ他のマシン上の GitLab にアクセスするために使用できます。
3. ファイアウォールの設定を確認する
最後に、ファイアウォールの設定に問題がないか確認する必要があります。仮想マシンで GitLab を構築する場合、22 (SSH)、80 (HTTP)、443 (HTTPS) などのいくつかのポートを開く必要がある場合があります。ファイアウォール ソフトウェアがインストールされている場合は、ファイアウォールを構成するときにこれらのポートへのアクセスを許可する必要があります。たとえば、centos7 では、次のコマンドを使用して対応するポートを開くことができます:
$ sudo firewall-cmd --permanent --add-port=80/tcp $ sudo firewall-cmd --reload
上記の手順を実行してもアクセスできない場合は、次のコマンドを実行して仮想サーバー内の DNS キャッシュをクリアすることを検討できます。 machine:
$ sudo systemctl restart dnsmasq
考えられる理由は、DNS レコードが無効であり、新しい DNS サービスから最新のレコードを再度取得できるように DNS キャッシュを更新する必要があることです。
概要
仮想マシンで GitLab を構成するプロセスでは、アクセス不能が発生することがよくあります。ただし、慎重に調査して解決すれば、仮想マシンによってもたらされる利便性と効率性を享受できます。したがって、上記の方法はいくつかの考えられる解決策を提供するだけであり、読者は実際の状況に応じてそれらを選択して試すことができます。
以上が仮想マシンに設定したGitLabにアクセスできない原因と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。