ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
なぜ SSL/TLS 化(HTTPS 化)が必要か
- 通信内容の盗聴防止: パスワード / クレジットカード / Cookie の保護
- 改ざん検知: 中間者攻撃で広告挿入 / 偽ページ表示を防止
- SEO ランキング要因: Google は HTTPS をプラスシグナルと公言
- ブラウザ警告回避: Chrome / Firefox は HTTP サイトに「保護されていない通信」表示
- HTTP/2 / HTTP/3 利用条件: 主要ブラウザは HTTPS のみで HTTP/2 を有効化
- 新ブラウザ API の動作条件: Service Worker / WebRTC / Geolocation 等は HTTPS 必須
証明書の選択肢
| 種類 | 料金 | 用途 | 備考 |
|---|---|---|---|
| Let's Encrypt (DV) | 無料 | 個人 / 中小サイト | 90 日有効、自動更新前提 |
| AWS Certificate Manager | 無料 | ALB / CloudFront / API Gateway | EC2 直接利用は不可 |
| Cloudflare | 無料 | Cloudflare 経由のサイト全般 | Cloudflare がプロキシ |
| Google Trust Services | 無料 | GCP Load Balancer | Google Managed Certificate |
| 有料 DV 証明書(Sectigo / GeoTrust 等) | 年 ¥1,000~ | 企業 / 補償付き | 1〜2 年有効、サポート付 |
| OV 証明書 | 年 ¥3 万〜 | 組織実在証明 | 会社情報を証明書に |
| EV 証明書 | 年 ¥10 万〜 | 銀行・大手 EC | かつての緑バー、現代は廃止 |
パターン1: Let's Encrypt + Certbot(Nginx / Apache)
Linux サーバに直接 Web サーバを立てている場合の定番。
Ubuntu + Nginx の例
# Certbot インストール
sudo apt update
sudo apt install -y certbot python3-certbot-nginx
# 証明書取得 + Nginx 設定自動反映
sudo certbot --nginx -d example.com -d www.example.com
# 対話形式で:
# - メールアドレス入力
# - 利用規約同意
# - HTTP → HTTPS リダイレクト (推奨: 2)
# 自動更新の動作確認(dry-run)
sudo certbot renew --dry-run
# 自動更新は systemd timer / cron で既に設定されている
sudo systemctl status certbot.timer
Apache の例
sudo apt install -y certbot python3-certbot-apache
sudo certbot --apache -d example.com
# 確認
curl -I https://example.com
# HTTP/2 200
# strict-transport-security: max-age=15552000
パターン2: AWS ACM + ALB / CloudFront
AWS で運用している場合、ACM 発行証明書を ALB(Application Load Balancer)や CloudFront にアタッチ。
# AWS CLI でリクエスト
aws acm request-certificate \
--domain-name example.com \
--subject-alternative-names www.example.com \
--validation-method DNS \
--region us-east-1
# ※ CloudFront 用は必ず us-east-1(バージニア北部)
# DNS 検証用 CNAME を Route 53 に追加
# → ACM コンソールから「Route 53 で作成」ボタン一発
# → 数分で「発行済み」に
ALB / CloudFront の HTTPS Listener にこの証明書を設定 → 自動更新(人手不要)。ACM は EC2 に直接アタッチできない点に注意。EC2 で直接 SSL 終端するなら Let's Encrypt か有料証明書。
パターン3: Cloudflare をプロキシ
- Cloudflare に無料アカウント作成
- ドメインを追加(DNS 移管)
- 各 DNS レコードをオレンジ雲(プロキシ ON)に
- SSL/TLS 設定で「Full (strict)」を選択
- 「Edge Certificates」で Cloudflare 発行証明書が自動有効化
これだけで https://example.com が即利用可能。オリジンサーバ側も自己署名証明書 or Cloudflare Origin CA を入れて HTTPS 化するのが推奨(Full strict)。
Mixed Content の解消
HTTPS ページ内で http:// の画像 / CSS / JS を読み込むと、ブラウザがブロックします:

一括変換: Content-Security-Policy
# レスポンスヘッダで http → https に自動アップグレード
Content-Security-Policy: upgrade-insecure-requests
# Nginx
add_header Content-Security-Policy "upgrade-insecure-requests";
# Apache
Header set Content-Security-Policy "upgrade-insecure-requests"
HSTS (HTTP Strict Transport Security)
「このサイトには今後 HTTPS だけで来てください」とブラウザに通知するヘッダ。一度設定すると、URL に http:// と打っても自動 HTTPS 化。
# Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
# Apache
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
# パラメータ
# max-age=31536000 ← 1 年間 HTTPS 強制
# includeSubDomains ← サブドメインにも適用
# preload ← Chrome 等の HSTS Preload List に登録申請可
注意: preload 設定後はHTTPS 化を取り消せなくなる(最大 1 年)。テストで max-age=300 等から始めて段階的に伸ばす。
TLS バージョンと Cipher Suite
古い TLS 1.0 / 1.1 は2020 年に主要ブラウザで廃止。現代は TLS 1.2 + TLS 1.3 のみ有効化:
# Nginx の推奨設定(Mozilla Modern + 互換性)
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# TLS 1.2 / 1.3 のみ
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher Suite(Mozilla Intermediate 推奨)
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# セッション再利用
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
# HSTS
add_header Strict-Transport-Security "max-age=63072000" always;
}
設定生成は Mozilla SSL Configuration Generator が便利。
動作確認・診断ツール
- SSL Labs Server Test — A+ を目標に
- Security Headers — HSTS / CSP 等のヘッダ点検
- Lighthouse(Chrome DevTools)— HTTPS / Mixed Content 警告
curl -I https://example.com— ヘッダ確認openssl s_client -connect example.com:443 -servername example.com— 証明書詳細
HTTP から HTTPS への 301 リダイレクト
# Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}# Apache .htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
自動更新(Let's Encrypt)
# Certbot は systemd timer で自動更新が既定有効
sudo systemctl list-timers | grep certbot
# certbot.timer Mon 2026-06-23 03:00:00 UTC
# cron に手動登録する場合
sudo crontab -e
# 毎日 3:30 に更新試行(期限 30 日切ったら更新)
30 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
# 動作確認
sudo certbot renew --dry-run
SEO 効果
- Google 検索順位の軽いプラス要因(2014 から公式)
- 同点同士の場合 HTTPS 側が優位
- Search Console は HTTP と HTTPS を別サイト扱い → HTTPS 版を登録
- サイトマップ URL も HTTPS に更新
- 外部リンクの参照元情報(Referrer)が HTTP→HTTPS で送信されない問題 →
Referrer-Policy: strict-origin-when-cross-origin
FAQ
Q: Let's Encrypt の信頼性は?
A: 主要ブラウザ・OS 全てで信頼されています。証明書の暗号化強度自体は有料証明書と同じ。違いは保証金・サポート・組織認証のみ。
Q: ワイルドカード証明書は無料で取れる?
A: Let's Encrypt で取得可能(certbot --manual --preferred-challenges dns -d *.example.com)。DNS 認証必須。
Q: 共有レンタルサーバで SSL 化したい
A: さくら / エックスサーバー / ロリポップ等は無料 SSL(Let's Encrypt ベース)を管理画面から 1 クリックで有効化できます。
Q: 証明書が期限切れになった
A: ブラウザに「危険サイト」警告が出ます。即更新(sudo certbot renew --force-renewal)。再発予防に監視(Datadog / UptimeRobot で証明書期限監視)を入れる。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- UE5 で鏡を作る方法 (Planar Reflection / Scene Capture / SSR / マテリアル) 2026-06-11 04:04:53
- Oracle CKPT (Checkpoint Process) の役割とパラメータ (リカバリ時間短縮) 2026-06-11 04:04:53
- Java プログラムの全体構造 (package / import / class / main / module / Maven) 2026-06-11 04:04:53
- UE5 Data Asset と Data Table の違い (使い分け / Asset Manager / CSV 連携) 2026-06-11 04:04:53
- Java 比較演算子の使い方 (== / equals / compareTo / Objects.equals) 2026-06-11 04:04:53
- Linux への scikit-learn インストール (pip / venv / Conda / 依存パッケージ) 2026-06-11 04:04:53
- Scratch でスプライトを追加する 5 つの方法 (ライブラリ / 自分で描く / アップロード / カメラ / サプライズ) 2026-06-11 04:04:53
- JavaScript の "" と '' の違い (仕様上は等価 / テンプレートリテラル / JSON / Lint) 2026-06-11 04:04:53
- Laravel マイグレーションファイルの作成 (make:migration / Schema::create / down 実装) 2026-06-11 04:04:53
- Unity 「3 Skyboxes」アセットの使い方と Skybox の基礎 (Material / Lighting / HDR) 2026-06-11 04:04:53
- Linux で IP アドレスを確認するコマンド完全ガイド(ip / ifconfig / hostname) 2026-06-11 04:04:52
- Docker イメージ操作完全ガイド(search / pull / images / rmi / multi-arch) 2026-06-11 04:04:52
- SQL の組み込み関数まとめ(集計 / 文字列 / 日時 / 数値 / 条件 / ユーザー定義) 2026-06-11 04:04:52
- Laravel Query Builder の DELETE 完全ガイド(Eloquent / Soft Delete / 一括削除) 2026-06-11 04:04:52
- HTML <wbr> 要素の使い方と <code>word-break</code> / ­ との違い 2026-06-11 04:04:52
コメントを削除してもよろしいでしょうか?