17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

EC2上のApacheでHTTPとHTTPSを両方やりたい[SSL]

Last updated at Posted at 2016-01-25

###Apacheは敵だ!
最近ハマりまくっててハゲそう・・・

サイタマ先生はハゲる代わりに人間やめたしハゲるまでは追い込めってことですね。頑張ります。


###0.目標
ApacheをインストールしたEC2にHTTP/HTTPSで接続を行います。

HTTP(DocumentRoot)
/var/www/html/http_root
HTTP(DocumentRoot)
/var/www/html/ssl_root

こんな感じにそれぞれのDocumentrootを指定します。


###1.セキュリティグループ

プロトコル ポート ソース
TCP 443 0.0.0.0/0
TCP 80 0.0.0.0/0
TCP 22 0.0.0.0/0

###2.Apache・mod_sslのインストール
ssl通信を利用するためにはmod_sslモジュールを追加します。
これをインストールすると ssl通信用のhttpd.conf である ssl.conf が作成されるので、sslはそれをメインに弄っていきます。

httpd/mod_ssl_install
suod yum update -y
sudo yum install httpd -y
sudo yum install mod_ssl -y

###3.オレオレ証明書の作成
ELBにサーバ自己証明書をインストールしWEBサーバにHTTPS通信をしてみた
で以前証明書の作り方を書いているのでそちらを参考にしてください。

  • pribate-key.pem --> SSLCertificateFile(サーバ証明書)
  • pribate-key.crt --> SSLCertificateKeyFile(秘密鍵)

この2つのファイルを使用します。


###4./etc/httpd/conf.d/ssl.confの編集
先ほども書きました、要はhttpd.confです。
下記設定をバーチャルホストタブの中に記述します。

SSLCertificateFile /etc/pki/tls/certs/pribate-key.crt
SSLCertificateKeyFile /etc/pki/tls/private/pribate-key.pem

証明書までのパスを指定します。

DocumentRoot "/var/www/html/ssl443"

Port443で待ち受けるDocumentRootを指定します。
指定したDocumentRoot以下に接続できたことが確認できるページを何か用意しましょう。


###SSL接続テスト
この状態でEC2のパブリックIPに対して

https://IP-address

でアクセスしてみてください。
セキュアじゃないよと怒られhttpsに赤線で打ち消し線が入ると思いますが、用意したページが見れるはずです。


###5. /etc/httpd/conf/httpd.confの設定

最後にHTTP(Port80)で接続した際の待受けを設定します。

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/html/nossl
    ServerName dummy-host.example.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

デフォルトのhttpd.confに上記の設定を追加(#外しと修正)をしました。
バーチャルホスト設定で:80で受けた際の挙動を示し、/var/www/html/nosslをDocumentrootとしています。
/var/www/html/nossl配下にHTTP通信とわかるようにページを作りましょう。


###6. HTTP接続テスト
サーバーのパブリックIPに接続してHTTP接続ができ、先ほど作成したHTTPページがデフォルトで表示されることを確認しましょう。


以上でSSLとHTTPの共存設定が完了しました。
これ出来なくてハゲそうだったけど出来て良かった。これで明日も頑張れる。


###参考
http://weblabo.oscasierra.net/apache-httpd22-ssl-centos6/
http://www.maruko2.com/mw/Apache/SSL%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%A8mod_ssl%E3%81%AE%E8%A8%AD%E5%AE%9A

17
18
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
17
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?