code.domain.comを特定のサーバーに転送しますか?

code.domain.comを特定のサーバーに転送しますか?

サーバー仮想マシン(VM1、VM2)をホストするためにESXi(s1)を使用することを除いて、一般的なマルチサーバー1 IPの問題があります。私が達成したいことは次のとおりです

誰かが行ったときexample.com彼らは得るS1-VM1私のブログ、ウェブサイト、すべてのジャズをホストしています。

しかし、彼らが行くときcode.example.com彼らは得るS1-VM2私のコードの人気のあるgitlabだけをホストしています。

可変的な:

  1. VM1はCentOSに基づいており、VM2はUbuntuサーバーに基づいています。
  2. Ext IP を使用するルータが DHCP を処理しています。

このようなタスクをどこで開始するのか完全にはわかりませんので、このタスクをどこで読んだり、行ったり、開始したりできるかを教えてください。これはCentOSのリバースプロキシApache実装と同じくらい簡単かもしれませんか?おそらく次のようなものこれ

修正する: だから部分的に見つけました。次の設定は、からexample.comすべてのトラフィックをリダイレクトしているようですhttps://sub.example.com。休日でサーバーで遊ぶ時間が多いので、誰かが詳しく見て、なぜこのようなことが起こるのかフィードバックを与えて調整を提案してくれたら嬉しいです。

<VirtualHost 192.0.2.1:80>
  ServerName sub.example.com
  Redirect permanent / http://sub.example.com/
</VirtualHost>
<VirtualHost 192.0.2.1:443>
  ServerName sub.example.com
  ErrorLog logs/sub.example.com-error_log
  CustomLog logs/sub.example.com-access_log combined
  SSLEngine On
  SSLCertificateFile /etc/httpd/conf.d/ssl/server.crt
  SSLCertificateKeyFile /etc/httpd/conf.d/ssl/server.key
  #SSLCACertificateFile /etc/httpd/conf.d/ssl/rapidssl.crt
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://192.168.1.252/
  ProxyPassReverse / http://192.168.1.252/
</VirtualHost>

**更新2:**現在発生しているエラーはSSLに関連しています。上記の設定を次のように修正しました。

<VirtualHost 192.0.2.1:80>
  ServerName sub.example.com
  Redirect permanent / http://sub.example.com/
  ProxyPass / http://192.168.1.252
  ProxyPassReverse / http://192.168.1.252
</VirtualHost>
<VirtualHost 192.168.1.252:443>
  ServerName sub.example.com
  ErrorLog logs/sub.example.com-error_log
  CustomLog logs/sub.example.com-access_log combined
  SSLEngine off
  SSLCertificateFile /etc/httpd/conf.d/ssl/server.crt
  SSLCertificateKeyFile /etc/httpd/conf.d/ssl/server.key
  #SSLCACertificateFile /etc/httpd/conf.d/ssl/rapidssl.crt
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://192.168.1.252/
  ProxyPassReverse / http://192.168.1.252/
</VirtualHost>

私は何も指定しなかったか、一致するRSAキーまたは何も指定しなかったログの直感に基づいてこれを行いました。上記の構成では、パブリックサーバーは要求をsub.example.com内部サーバーHTTP Webサイトにリダイレクトします。しかし、今、たとえばプロキシエラーなどの操作を実行すると、example.com/blog他のすべての項目が機能します。

Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /blog.

Reason: DNS lookup failure for: 192.168.1.252blog 

どんなアイデアがありますか?

ベストアンサー1

したがって、これにはリバースプロキシを使用する必要があります。リバースプロキシを使用すると、1つの外部IPの背後にある複数のサーバーにアクセスできます。ホストがあり、code値がでCNAMEレコードが正しく設定されていることを確認してくださいexample.com

フォローするこれブーツ、緩い。私のオペレーティングシステムはCentOS 7.1です。

まず、Apache / httpdがインストールされていることを確認してください。すでに存在する場合は、この手順をスキップできます。

sudo yum install httpd

プライマリサーバーで基本設定を実行したら、他のサーバーへのアクセスを有効にします。httpd.confリダイレクトするにはファイルを編集する必要があります。

vi /etc/httpd/conf/httpd.conf

実際に機能するには、以下を追加してください。

<VirtualHost *:80>
        ServerName code.example.com
        ProxyPass / http://S1-VM2:80/
        ProxyPassReverse / http://S1-VM2:80/
</VirtualHost>

その後、Apacheサービスを再起動する必要があります。service httpd restart

最後に、Ubuntu Webサーバーを設定する必要があります。ServerName入力するには、/etc/apache2/sites-available/defaultcode.example.comを実行してWebサーバーを再起動しますservice apache2 restart

おすすめ記事