LinuCレベル2 202試験の例題と解説
2.09.3nginxの設定と管理
LinuCレベル2 202試験の試験範囲から「2.09.3 nginxの設定と管理 」についての例題を解いてみます。
このテーマは、nginxの設定や管理に関する内容が含まれます。SSL/TLSを設定する、リバースプロキシとして動作させる、リダイレクトを設定するなど様々なnginxの使い方を理解するには、実機の操作がおすすめです。
例題
nginxにおいて、IPv6アドレスのTCP80番ポートを公開したい。適切な設定はどれか。
- listen 80;
- listen (::):80;
- listen <::>:80;
- listen [::]:80;
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4.listen [::]:80;」です。
nginxの設定では、IPv6のアドレスを使う場合、このようにします。また、「listen 80;」はIPv4のアドレスに関する設定となります。
では、実際に使ってみて、確かめてみましょう。
まず、nginxの設定ファイルでlistenを確認します。IPv4・IPv6、ともにTCP81番ポートを公開するようになっています。
[root@localhost ~]# cat /etc/nginx/conf.d/default.conf ※listenのみ抜粋しています
server {
listen 81;
listen [::]:81;
IPv6のアドレスを確認します。
"240f:32:57b8:1:5e06:7ace:4d2e:3456"となっていることが分かります。
[root@localhost ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:70:df:8a brd ff:ff:ff:ff:ff:ff
inet 192.168.1.185/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
valid_lft 5832sec preferred_lft 5832sec
inet6 240f:32:57b8:1:5e06:7ace:4d2e:3456/64 scope global noprefixroute dynamic
valid_lft 281sec preferred_lft 281sec
inet6 fe80::81ce:f1ca:2a63:fbf3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
curlコマンドを使ってIPv6アドレスにアクセスしてみると、レスポンスが返ってきます。
[root@localhost ~]# curl http://240f:32:57b8:1:5e06:7ace:4d2e:3456:81/
<!DOCTYPE html>
<html>
<head>
<title>Welcome to my nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to my nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
なお、以下でnginxのディレクティブやlistenディレクティブの詳細を確認できます。
nginxのディレクティブ一覧
http://nginx.org/en/docs/dirindex.html
nginxのlistenディレクティブ
http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
例題作成者
鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 ゼウスITトレーニングセンター)