背景 Nginx で HTTPS 通信するため、証明書関連の設定で時間を要した まとまったドキュメントが見つからなかったので、ノウハウをまとめてみた。 設定項目 Nginx の SSL 証明書関連で大切なのは次の設定。 ssl on; ssl_certificate /etc/ssl/certs/www.example.com.chained.cert; ssl_certificate_key /etc/ssl/certs/www.example.com.key;
![Nginx で SSL証明書 の設定時のトラブルシューティング方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ac6532d094a41a62e1d1a64fea499e432ce08e5c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9TmdpbnglMjAlRTMlODElQTclMjBTU0wlRTglQTglQkMlRTYlOTglOEUlRTYlOUIlQjglMjAlRTMlODElQUUlRTglQTglQUQlRTUlQUUlOUElRTYlOTklODIlRTMlODElQUUlRTMlODMlODglRTMlODMlQTklRTMlODMlOTYlRTMlODMlQUIlRTMlODIlQjclRTMlODMlQTUlRTMlODMlQkMlRTMlODMlODYlRTMlODIlQTMlRTMlODMlQjMlRTMlODIlQjAlRTYlOTYlQjklRTYlQjMlOTUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTgwYzI2ZDFhN2I3NjJhOTIwYzdjYjcyZjE4YzcwYTMy%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwY3V6aWMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWJjNWIxY2JiYzRlNjZlZDZmM2NmZjUzNDEwZWQ0NDZj%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dfcbee697b9c606edebf780e1187434a9)
背景 Nginx で HTTPS 通信するため、証明書関連の設定で時間を要した まとまったドキュメントが見つからなかったので、ノウハウをまとめてみた。 設定項目 Nginx の SSL 証明書関連で大切なのは次の設定。 ssl on; ssl_certificate /etc/ssl/certs/www.example.com.chained.cert; ssl_certificate_key /etc/ssl/certs/www.example.com.key;
NginxでHTTPS:ゼロから始めてSSLの評価をA+にするまで Part 2 – 設定、Ciphersuite、パフォーマンス 今日のインターネットの世界では、一般的な静的Webサイトも含め、 全てのWebサイト に、強固で安全なHTTPSのセットアップが必要となります。この記事は、Nginxセキュリティをどのようにセットアップするのかに関するシリーズのパート2です。 パート1 は、Webサーバに有効な署名証明書をセットアップする話で終了しました。しかしこれには、最適な設定とは言い難い、デフォルトのNginxの設定を使用していました。 この記事を読み終えれば、SSL Labsのレポートで、A+の評価を獲得できる安全なHTTPSの設定ができます。それだけでなく、追加でいくつかの微調整も行い、パフォーマンスそしてUXも向上させていきます。 ここに掲載した記述やコードの抜粋の他にも、すぐに使
昨日 HTTPS 化した シャンプー評価サイト のSSL評価をA+にしました。 参考にしたのは下の記事 HTTPS on Nginx: From Zero to A+ (Part 2) - Configuration, Ciphersuites, and Performance - Julian Simioni この記事のNginx証明書設定をPOSTDさんが翻訳しているので、近いうちに詳しい訳は日本語で読めるかも。ここでは適当にかいつまんだ手順を書いておく。一部時間のかかるコマンドもあるけど、基本的に決まった設定書くだけなので時間はかかりません。(もちろんどういう意味なのか知っておくに越したことはない) SSLの評価計測について SSLサーバーのテストはQualys SSL Reportで確認します。 Nginxデフォルトの設定で計測したらCだった。 SSLv3 を無効にする SSLv3
数年前、Webは全体的に暗号化されていませんでした。HTTPSはWebページの最も重要な部分だけのために確保されていました。暗号化が必要なのは大切なユーザデータだけで、Webページの公開される部分は暗号化せずに送ってもいいということで意見が一致していました。 しかし、 今は 状況 が 違います 。現在では、どんなWebトラフィックでも暗号化されていないのは良くないということが分かっているので、Webサイトを運営する誰もがコンテンツに関係なく強固なHTTPSを設定しなければなりません。 お恥ずかしい話ですが、私自身のWebサイトは2年近くも全くHTTPSをサポートしていませんでした ^(1) 。 Eric Mill の 今すぐ無料でHTTPSに切り替えよう という素晴らしい記事が最終的に私に喝を入れてくれました。私は休暇中、HTTPSをセットアップして Qualys SSL Report で
ちょっと検索するとrewriteするやり方が結構出てくるのだけど色々見てたらreturnを使う方法がシンプルだったので採用してみた。正規表現とかifとか出てこないのでわかりやすい。 server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443; ssl on; # ... }
自宅サーバを KVM で仮想化して複数の VM を稼働させているが、グローバル IP アドレスが一つしかないため、外部から見て1ポートにつき1つのプライベート IP アドレスにしか NAPT できない。 そこで HTTP (80), HTTPS (443) に関しては nginx をリバースプロキシとして動作させ、プライベート IP を振った VM (バックエンド Web サーバ) に中継することにした。そのときの設定をまとめておく。OS は Ubuntu 12.04 を使用している。 基本的な設定 単に HTTP を中継するだけなら、次の手順を実施すれば良い。 まずリバースプロキシとして動作させるホストに nginx をインストールする。 $ sudo apt-get install -y nginx バーチャルホストごとに設定ファイルを作成する。 $ sudo vi /etc/ngin
SSL 3.0の脆弱性 CVE-2014-3566 aka POODLE の対応でSSL v3を無効にする必要あり http://www.itmedia.co.jp/news/articles/1410/15/news054.html http://googleonlinesecurity.blogspot.jp/2014/10/this-poodle-bites-exploiting-ssl-30.html https://blog.mozilla.org/security/2014/10/14/the-poodle-attack-and-the-end-of-ssl-3-0/ https://www.openssl.org/~bodo/ssl-poodle.pdf Apache httpd + mod_sslなら http://httpd.apache.org/docs/2.2/mod
フロントでSSL解いてリバースプロキシってのは割と良く作るのだけど、あれれ...? nginx, ときどき httpd で出来てたことが出来なくて「えっ?」てなる。今後のためにメモ。 server { listen 80; server_name www.example.com; rewrite ^ https://$http_host$request_uri? permanent; } server { listen 443; server_name www.example.com; ssl on; ssl_certificate ... ssl_certificate_key ... : location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header
HTTPS通信は複数のプロトコル、手法が組み合わされて実現されている。そのため、暗号化手法それぞれのリスク、ブラウザの対応等様々な用件があり、全てを理解するにはちょっと時間とリソースが足りない。結局のところ、我々はどのようにして安全なHTTPS通信を提供できるのか。色々調べていたところ、MozillaがMozilla Web siteに使用する、HTTPSの推奨設定を公開している。 Security/Server Side TLS - MozillaWiki このドキュメントはMozillaのサーバ運用チームが、Mozillaのサイトをより安全にするために公開しているもので、他のサイトにそのまま適用できるかは十分に注意する必要がある。例えばガラケー向けサイトとか。そのまま使えないとしても、HTTPS通信の設定をどうすれば良いか、理解の一助になるはずだ。 この記事は上記MozillaWiki
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く