LoginSignup
9
10

More than 5 years have passed since last update.

【Apache】HTTP/HTTPS共存 リダイレクト設定 Rewrite【SSL設定】

Last updated at Posted at 2016-03-24

【個人メモ】
Apacheの設定でSSLと通常の通信を行う際の共存設定方法
バーチャルホストの設定にて実施

Listenは80しか開けてない
NameVirtualHost *:443書いてから起動時にWarnを見るように⇒不要かも?

基本構文

httpd.conf

<VirtualHost *:80>
        ServerName HTTP通信時のてすとサーバの名前(サイトURL)
        DocumentRoot /var/www/html/ほげほげ
        <Directory "/var/www/html/ほげほげ/">
                AllowOverride 
                RewriteEngine 

        </Directory>
</VirtualHost>

<VirtualHost *:443>
        ServerName HTTPS通信時のてすとサーバの名前(サイトURL)
        DocumentRoot /var/www/html/ほげほげ
        Redirect 

        <Directory "/var/www/html/ほげほげ/">
                AllowOverride 
                RewriteEngine 

        </Directory>
            RewriteEngine 
            SSLEngine on
            SSLCertificateFile    /etc/ssl/hoge.cer
            SSLCertificateKeyFile /etc/ssl/hoge.key
            SSLCertificateChainFile /etc/ssl/hoge-hoge.cer
</VirtualHost>


複数ドメイン運用の際は上記セットをドメイン数分書いてしまえばドメイン数分HTTP/HTTPSの設定が可能

.htaccess

.htaccessを利用する場合、上記ディレクトリタブ内の『AllowOverride』を AllowOverride All とする。
この記述が無いと.htaccessが効かなくなる。
聞かせたいディレクトリ階層の一番上で1回この記述を書いておけば、その下の階層の.htaccessは効く


リダイレクト

URLの書き換え<Rewrite>を行う場合このタブ内に記述(物によってはヴァーチャルホストタブの中で無いと効かなかったので両方試す)
リダイレクトはそのドキュメントルートからみて、どこにアクセスが有った場合どこに飛ばすと言った形で書く

Rewriteサンプル

サンプル
RewriteRule .* https://www.google.co.jp/ (⇒そのディレクトリに来たやつを全部飛ばす)
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] (⇒HTTPをHTTPSに強制リダイレクト)

後ろの[R,L]とか結構重要

Redirectサンプル

サンプル
Redirect /sub_dir1 http://qiita.com/Yuki_BB3/stock
Redirect /sub_dir1/index.html http://qiita.com/Yuki_BB3/stock
Redirect /sub1(.*) http://qiita.com/Yuki_BB3/stock

SSL証明書設定

バーチャルホストタブ内

        SSLEngine on
        SSLCertificateFile    /etc/ssl/hoge.cer
        SSLCertificateKeyFile /etc/ssl/hoge.key
        SSLCertificateChainFile /etc/ssl/hoge-hoge.cer

により設定する。
ドメインにより証明書が異なる場合、それに合致したものを間違えないように使う。


参考にしたサイト

http://blog.dawgsdk.org/weblog/archives/411011
http://kana-lier.com/web/redirect/#sec2
http://aoi-f.blog.so-net.ne.jp/2010-08-20-1
http://web.antenna.work/rewritecond-rewriterule/
https://www.suzukikenichi.com/blog/integrating-www-and-non-www-by-301-redirect/
http://rfs.jp/server/apache/02apache/url_rewrite.html
https://gist.github.com/y13i/65a73493b55474f9a658
http://web-tan.forum.impressrd.jp/e/2010/01/05/6369#www
http://digital-marketing.jp/site-renewal-301-redirect/

9
10
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
9
10