sslをlet's encryptから、買ってきたのものに変更
SSL切り替え
Let's Encryptの要領でやった。 Apache + OpenSSL 中間CA証明書のインストール手順
SSL証明書切り替え
- プライベートキー:foo_key.pem
- SSL証明書:fullchain.crt
- SSLサーバ証明書:cert.crt(SSL証明書の上半分コピペ)
- 中間証明書:chain.crt(SSL証明書の下半分コピペ)
上記ファイルを適当なフォルダにまとめ、/etc/あたりにアップロード。
今回はssl.confの3箇所(foo_key.pem, cert.crt, chain.crt)
のパスを設定して、systemctl restart httpd
して、ブラウザでhttpsで
動作するか確認して終了。
.htaccessでhttpsへのリダイレクト
必要なさそうだけど一応やっておく。 htaccessでHTTPSにリダイレクトする
vi /home/project/approot/public/.htaccess
<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Redirect to https RewriteCond %{HTTPS} off # これだとサブディレクトリのURLがトップのドメインに行ってしまう。 #RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # これだとサブディレクトリにも有効 # ただ、JSON APIのURLはトップページにリダイレクトされてしまう。 # 数十分後にアクセスしたらJSON APIでも適切にリダイレクトされた。 RewriteRule ^(.*)$ https://foo.com/$1 [R=301,L] # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
.htaccessの書き方よくわかんないや