1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2 Amazon Linux 2 + Apache環境でSSL対応

Posted at

Apacheインストール済みのウェブサーバーにて,SSL証明書を

cerbotによりSSL証明書を取得

$ amazon-linux-extras install epel -y
$ amazon-linux-extras enable epel
$ yum install -y certbot
$ certbot certonly --standalone

対話式に取得できるので多分わかると思います

sslモジュールをインストール

$ yum install -y mod_ssl

※ 「-y」オプションは,インストール時の対話に全てyesする という意味です

ssl.confの編集

SSLモジュールをインストールしたことにより,/etc/httpd/conf.d/ssl.conf が出来ていると思います
ここに書かれている↓のデフォルトの記述を丸っと削除します
後ほどApacheを再起動する際に邪魔になる可能性があるためです

<VirtualHost _default_:443>
〜〜〜〜
</VirtualHost>

バーチャルホストの設定

以下より,「example.co.jp」の部分はご自身のドメインに読み替えてください

/etc/httpd/conf.d ディレクトリに
下記2ファイルを作ります

  • vhost-example.co.jp.conf
  • vhost-example.co.jp-ssl.conf

上がhttp用,下がhttps用です

vhost-example.co.jp.conf
# IPアドレスでアクセスした場合,リダイレクト
<VirtualHost *:80>
    ServerName **.***.**.***  # IPアドレスを入力
    Redirect permanent / https://example.co.jp/
</VirtualHost>

# httpsにリダイレクト
<VirtualHost *:80>
  RewriteEngine on
  RewriteCond %{HTTPS} off
  RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</VirtualHost>
vhost-example.co.jp-ssl.conf
<VirtualHost *:443>
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^www.example.co.jp$
    RewriteRule ^(.*)$ example.co.jp%{REQUEST_URI} [R=302,L]
    ServerName example.co.jp
    ServerAlias www.example.co.jp  # www付アドレスにアクセスした場合,www無しアドレスにリダイレクトするように設定(事前に名前解決をしておいてください)
    ServerAdmin email@example.co.jp  # メールアドレスを適宜設定
    DocumentRoot /var/www/example.co.jp  # DocumentRootを適宜設定
    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn
    SSLCertificateFile /etc/letsencrypt/live/example.co.jp/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.co.jp/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/example.co.jp/chain.pem
    BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

# https://IPでアクセスした場合,リダイレクト
<VirtualHost *:443>
  ServerName **.***.**.*** # IPアドレスを入力
  Redirect permanent / https://example.co.jp/
</VirtualHost>

Apacheを再起動

$ systemctl restart httpd

ドメインでアクセスしてみて動作確認

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?