2017-07-26 11 views
0

Webベースのユーザーインターフェイス(rundeck、jenkins、sonarqube、...)を持つ複数のサービスとツールを備えたサーバーがあり、devteamが適切なURL 、サーバーIPとポートではありません。 IE: - companyName-rundeck.com - companyName-jenkins.com - companyName-sonarqube.comWebベースのユーザーインターフェイスを複数のサービスで同じサーバーに実装

何それを行うための最善の方法でしょうか?

答えて

1

reverse proxyのようなものがこの目的で最もよく使用されます。簡単なApacheの設定について説明しますが、nginxやHAProxyを使って設定するのは簡単です。例示の目的のために

、あなたはサーバー上で実行されている3つのサービスがあることに座ってみましょう:ポート4440

上のポート9000

  • RunDeck上のポート8080
  • SonarQube上

    • ジェンキンスをまず、ドメイン名を使用するだけでサービスを区別するためには、DNSにいくつかのエントリを作成し、その名前をサーバのIPアドレスに指定する必要があります:

      jenkins.example.com A 192.0.2.2 
      sonar.example.com A 192.0.2.2 
      rundeck.example.com A 192.0.2.2 
      

      次は、Apache HTTPサーバをインストールします(まだことを行っていない場合):

      yum install httpd 
      

      ファイル/etc/httpd/conf.d/proxy.conf作成します。

      <VirtualHost *:80> 
          ServerName jenkins.example.com 
          ProxyPreserveHost On 
          ProxyPass   / http://localhost:8080/ 
          ProxyPassReverse / http://localhost:8080/ 
      </VirtualHost> 
      <VirtualHost *:80> 
          ServerName sonar.example.com 
          ProxyPreserveHost On 
          ProxyPass   / http://localhost:9000/ 
          ProxyPassReverse / http://localhost:9000/ 
      </VirtualHost> 
      <VirtualHost *:80> 
          ServerName rundeck.example.com 
          ProxyPreserveHost On 
          ProxyPass   / http://localhost:4440/ 
          ProxyPassReverse / http://localhost:4440/ 
      </VirtualHost> 
      

      (ロジックがために、非常に明確でなければなりませんが詳細な説明、the docsを参照してください)

      その後、httpdサービスを開始してください:service httpd start

      • 命令はCentOSのためのものであるが、他のディストリビューションのためにあまり異なってはならない、それは(ログの明らかな痕跡なし)期待どおりに動作無効にSELinuxをしようとしていない場合は
      • setenforce 0 & & service httpd restart
  • +0

    私はそれを試してみます – FranAguiar

    関連する問題