Listenディレクティブ:リクエストを受け付けるポート番号

Listen ディレクティブは Apache がクライアントからのリクエストを受け付けるポート番号を指定するのに使用します。ここでは Apache の Listen ディレクティブの使い方について解説します。

※ ServerName ディレクティブについては「ServerNameディレクティブ:サーバが自分自身を表す時に使用するホスト名とポート番号」へ移動しました。

(Last modified: )

Listenディレクティブの使い方

Listen ディレクティブは Apache がクライアントからリクエストを受け付けるポート番号を指定します。 Listen ディレクティブは必須のディレクティブです。書式は次の通りです。

Listen [IPアドレス:]ポート番号 [プロトコル]

記述できる場所は httpd.conf です。

Apache のような Web サーバに対する http を使ったアクセスには 80 番、 https を使ったアクセスには 443 を通常使用します。ポート番号として 80 番を使用する場合は次のように記述します。

Listen 80

受け付けることができるポート番号は複数指定できます。複数のポート番号を受け付ける場合は Listen ディレクティブを複数記述して下さい。下記の場合は 80 番ポートと 8080 番ポートでのリクエストを受け付けるようになります。

Listen 80
Listen 8080

ポート番号だけを指定した場合には、全てのインターフェースから指定したポート番号のリクエストを受け付けます。 Apache が起動しているサーバに複数のインターフェースが接続されていて特定のインターフェースからのみリクエストを受け付けたいのであれば、そのインターフェースの IP アドレスを指定して下さい。

Listen 192.168.128.1:80

プロトコルに関してはポート番号 443 番を使う場合には https が、それ以外のポート番号の場合は http がデフォルトで設定されます。もし https を使ってアクセスに対して 443 番以外のポート番号使用する場合はプロトコルを明示的に指定して下さい。例えば https によるアクセスで 8443 番を受け付けるバイアは次のように記述します。

Listen 8443 https

ポート番号を変更する

それでは実際にポート番号を変更してみます。 httpd.conf ファイルを開き、次のように記述されている箇所を検索してください。

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

リクエストを受け付けるポート番号として 80 番が指定されています。

それではポート番号として 8080 番に変更します。

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 8080

httpd.conf ファイルを保存します。そのあとで Apache を再起動して設定ファイルを読み込みなおしてください。そのあとでまず次のように Apache へアクセスしてみます。

http://localhost/

ブラウザからアクセスするとき、ポート番号を指定していない場合は 80 番が指定した場合と同じです。その為、次のように 80 番を指定した場合と同じになります。

http://localhost:80/

現在 Apache はポート番号として 8080 番でリクエストを受け付けているので、 80 番を使ってアクセスするとアクセスすることができません。

ポート番号を変更する(1)

ポート番号を変更する(2)

今度は 8080 番を指定して Apache へアクセスしてみます。

http://localhost:8080/

今度は正常に Apache へアクセスすることができました。

ポート番号を変更してみる(3)

ポート番号を変更してみる(4)

http を使ってアクセスする場合は通常 80 番を使用しておけば問題ありません。ただすでに同じサーバに別の Web サーバが起動して 80 番を使用している場合などには 8080 番など別のポート番号を使用するように変更してください。

-- --

Apache の Listen ディレクティブの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。