web-dev-qa-db-ja.com

Apache sslポートを同じopensslポート443の異なるポートにバインドします

Dotcmsをインストールしたサーバー(linuxベース)があり、ポート80で実行され、opensslはポート443で実行されています。どちらも実行中のプロセスで開始されます。最近、サーバーにApacheをインストールしました。 Apacheを起動したとき、Apacheのデフォルトのsslポートが443でApacheが80であるためにスタックしました。どちらもすでに実行されています。私のタスクのためだけに、ポート90でsslなしでApacheのみを開始しました。ただし、Apacheでsslを開始し、明らかに別のポートで開始したいと思います。 Apache sslを同じopensslにバインドすることは可能ですか?

実行中のプロセスでデフォルトのdotcmsが必要です。どのような場合でも停止できません。Apacheの起動が必要な場合にのみ、dotcmsサービスを再起動できます。しかし、両方を並列に実行するには、dotcmsとApacheが必要です。

そのリンク上の画像を参照してください(評判が低いため、画像をアップロードできませんでした) http://developers89.byethost14.com/images/ssl.png

8
Waqas Ahmed

はい、Apacheを別のポートにバインドし、SSLを使用することは可能です。

Apache構成のListenディレクティブを置き換えます。設定には次のような行が含まれている必要があります

Listen 80
Listen 443

Apacheはこれらの構成オプションで定義されたポートで待機します。それらを置き換えると、Apacheは別のポートで待機します。

ただし、上記のポートで何を提供するかをApacheに伝える必要があります。 Apacheがポート8080(プレーン)と4433(ssl)でリッスンを開始するとします。次に、Listenディレクティブを次のように置き換える必要があります。

Listen 8080
Listen 4433

この後、次のようにこれらのポートに2つのVirtualHostを定義します。

NameVirtualHost 0.0.0.0:8080
NameVirtualHost 0.0.0.0:4433

<VirtualHost 0.0.0.0:8080>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/plain
</VirtualHost>

<VirtualHost 0.0.0.0:4433>
    ServerName the.server.name
    ServerAlias *
    DocumentRoot /var/www/ssl

    SSLEngine On
    SSLCertificateFile /the/certificate/file
    SSLCertificateKeyFile /the/key/file
</VirtualHost>

VirtualHostの定義がない場合は、ServerAliasディレクティブ(または、ServerName)を含める必要はありません。

Apacheを再起動すると、暗号化されていない接続は8080でリッスンし、SSLはポート4433でリッスンします。間違ったポート番号を含む古いVirtualHost定義がないことを確認してください。

17
Lacek