Apache | Apacheの基本設定 | ドメイン名とポート番号(ServerName, Listen)
Apacheの設定で、ドメイン名とポート番号(ServerName、Listen)を設定する方法について説明する。
ServerNameディレクティブ: ドメインの指定
ServerNameディレクティブは、Apacheサーバーが自身のドメイン名として使用する名前を指定する。たとえばApacheがエラー表示を行うとき、自分自身を示すドメイン名も一緒に表示する場合などに、ここで設定したドメイン名が使用される。
通常はIPアドレスに割り当てられたドメイン名だが、別の名前を割り当て、それを公式のドメイン名として使いたい場合にも使用する。ServerNameが指定されていない場合、Apacheに割り当てられたIPアドレスを逆引きしてドメイン名を取得する。
形式は次のとおりである。
ServerName [スキーム://]ドメイン名|IPアドレス[:ポート番号]
ServerNameは通常、ドメイン名:ポート番号の形式で指定する。
httpd.confファイルでServerNameを検索すると、次のような内容が見つかる。
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80
デフォルトでは先頭に#が付いており、コメントアウトされている。
今回はApacheをローカル環境で動かしているため上記のようになっているが、外部に公開するWebサーバーの場合は、たとえばwww.example.comのように指定することになる。
ServerName www.example.com:80
ポート番号は任意で省略できるが、省略した場合はHTTPのポート番号が使われる。ポート番号も指定することが推奨されている。
Listenディレクティブ: リクエストを受けるポート番号の指定
Listenディレクティブは、Apacheが外部からのリクエストを受け付けるポート番号を指定する。形式は次のとおりである。
Listen [IPアドレス:] ポート番号 [プロトコル]
httpd.confファイルでListenを検索すると、次のような内容が見つかる。
#
# 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番が指定されていることを確認できる。
受け付けるポート番号は複数指定でき、その場合はListenディレクティブを複数記述する。次のようにすると、80番ポートと8080番ポートでリクエストを受け付ける。
Listen 80
Listen 8080
ポート番号だけを指定すると、すべてのインターフェースで指定したポート番号のリクエストを受け付ける。Apacheが実行されるサーバーに複数のインターフェースが接続されており、特定のインターフェースだけでリクエストを受けたい場合は、そのインターフェースのIPアドレスを指定する。
Listen 192.170.2.1:80
Listen 192.170.2.5:8000
プロトコルは、ポート番号443を使用する場合はhttps、それ以外のポート番号ではhttpがデフォルトで設定される。443以外のポート番号でHTTPSを使用したい場合は、明示的に指定する必要がある。たとえば次のように指定すると、ポート番号8443でHTTPSを使用する。
Listen 192.170.2.1:8443 https
参照
- https://httpd.apache.org/docs/2.4/mod/core.html#servername
- https://httpd.apache.org/docs/2.4/mod/mpm_common.html#listen