SSL証明書を取得したので、暗号化通信ができるように設定する
事前に、ファイアウォールのポートはあけておいてあるものとする
設定ファイルの編集
vi /etc/h2o/h2o.conf
user: h2o gzip: ON file.index: [ 'index.html', 'index.php' ] # PHPの設定 file.custom-handler: extension: .php fastcgi.connect: port: /var/run/php-fpm/www.sock type: unix ------↓ここから変更箇所↓----- hosts: "xxxxxxxxx.com:443": listen: port: 443 ssl: minimum-version: TLSv1.2 certificate-file: "/etc/letsencrypt/live/xxxxxxxxx.com/fullchain.pem" ← Let's Encriptで取得した証明書ファイルのパス key-file: "/etc/letsencrypt/live/xxxxxxxxx.com/privkey.pem" ← Let's Encriptで取得したkeyファイルのパス cipher-preference: server cipher-suite: "ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:!DSS" ------↑ここまで変更箇所↑----- paths: "/": file.dir: /var/www/html redirect: url: /index.php/ internal: YES status: 307 "/phpMyAdmin/": mruby.handler-file: /etc/h2o/ip.rb file.dir: /usr/share/phpMyAdmin ------↓ここから変更箇所↓----- "xxxxxxxxx.com:80": listen: port: 80 paths: "/": redirect: url: "https://xxxxxxxxx.com/" ← 常時SSL化するための設定 status: 301 ← 常時SSL化するための設定 ------↑ここまで変更箇所↑-----
サービスの再起動
systemctl restart h2o systemctl status h2o
参考
CentOS7 に Webサーバ H2O をインストールして HTTP/2 に対応させました(WordPress を動作させるまで) | MOMENTS
CentOS8 も試しているのですが、あちらは Apache でも標準でHTTP/2に対応しているんですよね。しかしながら、CentOS7 収録の Apache では対応していな...
コメント