{"id":1738,"date":"2026-02-11T08:58:07","date_gmt":"2026-02-10T23:58:07","guid":{"rendered":"https:\/\/beeknowledge.co.jp\/?p=1738"},"modified":"2026-02-11T08:58:09","modified_gmt":"2026-02-10T23:58:09","slug":"https%e9%96%8b%e7%99%ba%e3%83%86%e3%82%b9%e3%83%88%e3%81%be%e3%81%a8%e3%82%81%ef%bc%88mkcert-ngrok%ef%bd%9clan-wan%ef%bc%89","status":"publish","type":"post","link":"https:\/\/beeknowledge.co.jp\/?p=1738","title":{"rendered":"HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u307e\u3068\u3081\uff08mkcert \/ ngrok\uff5cLAN \/ WAN\uff09"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"ja\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n  <title>HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u307e\u3068\u3081\uff08mkcert \/ ngrok\uff5cLAN \/ WAN\uff09<\/title>\n  <style>\n    :root{\n      --bg:#ffffff;\n      --text:#111827;\n      --muted:#4b5563;\n      --border:#e5e7eb;\n      --card:#f9fafb;\n      --code:#f3f4f6;\n      --link:#1d4ed8;\n      --ok:#065f46;\n      --warn:#92400e;\n      --ng:#991b1b;\n    }\n    body{\n      margin:0;\n      font-family: system-ui,-apple-system,\"Segoe UI\",Roboto,\n                   \"Hiragino Kaku Gothic ProN\",\"Noto Sans JP\",sans-serif;\n      color:var(--text);\n      background:var(--bg);\n      line-height:1.75;\n    }\n    header{\n      padding:28px 18px;\n      background:linear-gradient(90deg,#eef2ff,#ffffff);\n      border-bottom:1px solid var(--border);\n    }\n    main{max-width:980px;margin:0 auto;padding:20px}\n    h1{margin:0 0 10px;font-size:24px}\n    h2{margin:30px 0 12px;font-size:20px}\n    h3{margin:20px 0 8px;font-size:16px}\n    p,li{margin:6px 0}\n    .small{font-size:12px;color:var(--muted)}\n    a{color:var(--link)}\n    .card{\n      background:var(--card);\n      border:1px solid var(--border);\n      border-radius:12px;\n      padding:16px;\n      margin:14px 0;\n    }\n    code{\n      background:var(--code);\n      border:1px solid var(--border);\n      border-radius:6px;\n      padding:2px 6px;\n      font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;\n      font-size:0.95em;\n    }\n    pre{\n      background:var(--code);\n      border:1px solid var(--border);\n      border-radius:10px;\n      padding:12px;\n      overflow:auto;\n      font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;\n      font-size:0.92em;\n    }\n    table{width:100%;border-collapse:collapse;margin:10px 0}\n    th,td{border:1px solid var(--border);padding:8px;vertical-align:top}\n    th{background:#eef2ff;text-align:left}\n    .ok{color:var(--ok);font-weight:600}\n    .warn{color:var(--warn);font-weight:600}\n    .ng{color:var(--ng);font-weight:600}\n    .hr{height:1px;background:var(--border);margin:28px 0}\n    @media print{\n      header{background:#fff !important}\n      a{color:#000;text-decoration:underline}\n      .card{break-inside:avoid}\n    }\n  <\/style>\n<\/head>\n<body>\n\n<header>\n  <h1>HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u307e\u3068\u3081\uff08mkcert \/ ngrok\uff5cLAN \/ WAN\uff09<\/h1>\n  <p class=\"small\">\n    \u5bfe\u8c61\uff1aFlask \u7b49\u306eWeb\u30a2\u30d7\u30ea\u3092 <b>HTTPS\u524d\u63d0<\/b> \u3067\u793e\u5185\uff08LAN\uff09\u30fb\u793e\u5916\uff08WAN\uff09\u304b\u3089\u30c6\u30b9\u30c8\u3057\u305f\u3044\u958b\u767a\u8005\u5411\u3051\u3002\n    \u672c\u8cc7\u6599\u306f\u300c\u8aad\u3081\u3070\u305d\u306e\u307e\u307e\u5b9f\u884c\u3067\u304d\u308b\u300d\u3053\u3068\u3092\u76ee\u7684\u3068\u3059\u308b\u3002\n  <\/p>\n<\/header>\n\n<main>\n\n<section class=\"card\">\n  <h2>1. \u306a\u305c\u958b\u767a\u3067\u3082HTTPS\u304c\u5fc5\u9808\u306a\u306e\u304b<\/h2>\n  <ul>\n    <li>\u30d6\u30e9\u30a6\u30b6API\uff08\u4f4d\u7f6e\u60c5\u5831\u3001\u52a0\u901f\u5ea6\u3001\u30ab\u30e1\u30e9\u7b49\uff09\u304c <b>HTTPS\u5fc5\u9808<\/b> \u306b\u306a\u308a\u304c\u3061<\/li>\n    <li>Cookie \u306e <code>Secure<\/code> \/ <code>SameSite<\/code> \u5236\u5fa1<\/li>\n    <li>\u5916\u90e8API\u30fbWebhook\u9023\u643a\u306fHTTPS\u524d\u63d0\u304c\u307b\u307c100%<\/li>\n    <li>\u672c\u756a\u3068\u306e\u5dee\u5206\u3092\u7121\u304f\u3059\uff08HTTP\u2192HTTPS\u3067\u5f8c\u304b\u3089\u58ca\u308c\u308b\u306e\u3092\u9632\u3050\uff09<\/li>\n  <\/ul>\n<\/section>\n\n<section class=\"card\">\n  <h2>2. \u7d50\u8ad6\uff08\u6700\u77ed\u306e\u9078\u629e\uff09<\/h2>\n  <ul>\n    <li><b>\u793e\u5185LAN\u3067HTTPS\u30c6\u30b9\u30c8<\/b> \u2192 <b>mkcert<\/b><\/li>\n    <li><b>\u793e\u5916WAN\u304b\u3089HTTPS\u30c6\u30b9\u30c8<\/b> \u2192 <b>ngrok<\/b><\/li>\n    <li><b>\u30b9\u30de\u30db\u30fb\u7b2c\u4e09\u8005\u3082\u542b\u3080<\/b> \u2192 ngrok\uff08mkcert\u306fCA\u914d\u5e03\u304c\u5fc5\u8981\uff09<\/li>\n  <\/ul>\n<\/section>\n\n<section class=\"card\">\n  <h2>3. \u69cb\u6210\u30a4\u30e1\u30fc\u30b8<\/h2>\n\n  <h3>LAN\uff08\u793e\u5185\uff09\uff1amkcert<\/h3>\n  <pre>\n[\u958b\u767aPC]  https:\/\/192.168.0.105:5000\n   Flask + mkcert\u8a3c\u660e\u66f8\n        \u2191\n[\u793e\u5185PC \/ \u30b9\u30de\u30db]\n  \u203b \u30eb\u30fc\u30c8CA\u3092\u4fe1\u983c\u3057\u305f\u7aef\u672b\u306e\u307f\u300c\u8b66\u544a\u306a\u3057\u300d\n  <\/pre>\n\n  <h3>WAN\uff08\u793e\u5916\uff09\uff1angrok<\/h3>\n  <pre>\n[\u958b\u767aPC]  http:\/\/127.0.0.1:5000  (\u30ed\u30fc\u30ab\u30eb\u306fHTTP\u3067\u3082OK)\n        \u2191\n     ngrok http 5000\n        \u2193\n[\u793e\u5916\u7aef\u672b] https:\/\/xxxx.ngrok-free.app  (\u516c\u958bHTTPS)\n  <\/pre>\n<\/section>\n\n<section class=\"card\">\n  <h2>4. mkcert\u3068\u306f\uff08LAN\u5411\u3051\uff09<\/h2>\n  <ul>\n    <li>\u30ed\u30fc\u30ab\u30eb\u5c02\u7528\u306e <b>\u8a8d\u8a3c\u5c40\uff08\u30eb\u30fc\u30c8CA\uff09<\/b> \u3092\u4f5c\u6210<\/li>\n    <li>\u305d\u306eCA\u3067 IP \/ \u30db\u30b9\u30c8\u540d\u7528\u306e\u8a3c\u660e\u66f8\u3092\u5373\u6642\u767a\u884c<\/li>\n    <li>CA\u3092\u4fe1\u983c\u3057\u305f\u7aef\u672b\u3067\u306f <b>\u8b66\u544a\u306a\u3057HTTPS<\/b><\/li>\n  <\/ul>\n  <p class=\"small warn\">mkcert\u306f\u793e\u5185\u691c\u8a3c\u7528\u3002\u672c\u756a\u30fb\u793e\u5916\u516c\u958b\u306b\u306f\u4f7f\u308f\u306a\u3044\u3002<\/p>\n<\/section>\n\n<section class=\"card\">\n  <h2>5. mkcert \u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\uff08Ubuntu\uff09<\/h2>\n\n  <h3>5-1. \u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8<\/h3>\n  <pre>\nsudo apt update\nsudo apt install -y libnss3-tools ca-certificates curl\n  <\/pre>\n\n  <h3>5-2. mkcert \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\uff08\u516c\u5f0f\u30d0\u30a4\u30ca\u30ea\uff09<\/h3>\n  <pre>\ncurl -L -o mkcert https:\/\/github.com\/FiloSottile\/mkcert\/releases\/latest\/download\/mkcert-v1.4.4-linux-amd64\nchmod +x mkcert\nsudo mv mkcert \/usr\/local\/bin\/\nmkcert --version\n  <\/pre>\n\n  <h3>5-3. \u30ed\u30fc\u30ab\u30ebCA\u4f5c\u6210<\/h3>\n  <pre>\nmkcert -install\nmkcert -CAROOT\n  <\/pre>\n\n  <h3>5-4. \u8a3c\u660e\u66f8\u767a\u884c\uff08IP\u5fc5\u9808\uff09<\/h3>\n  <pre>\nmkdir cert\ncd cert\nmkcert 192.168.0.105 localhost 127.0.0.1\n  <\/pre>\n  <p class=\"small warn\">IP\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306a\u3089\u3001\u5fc5\u305aIP\u3092\u542b\u3081\u3066\u767a\u884c\uff08SAN\u306bIP\u304c\u5fc5\u8981\uff09\u3002<\/p>\n<\/section>\n\n<section class=\"card\">\n  <h2>6. mkcert \u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\uff08Windows\uff09<\/h2>\n\n  <h3>6-1. \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n  <pre>\nchoco install mkcert\n# \u307e\u305f\u306f\nscoop install mkcert\nmkcert --version\n  <\/pre>\n\n  <h3>6-2. \u30ed\u30fc\u30ab\u30ebCA\u4f5c\u6210<\/h3>\n  <pre>\nmkcert -install\n  <\/pre>\n  <p class=\"small\">CA\u4fdd\u5b58\u5148\u4f8b\uff1a<code>%LOCALAPPDATA%\\mkcert\\rootCA.pem<\/code><\/p>\n\n  <h3>6-3. \u8a3c\u660e\u66f8\u767a\u884c<\/h3>\n  <pre>\nmkdir cert\ncd cert\nmkcert 192.168.0.105 localhost 127.0.0.1\n  <\/pre>\n<\/section>\n\n<section class=\"card\">\n  <h2>7. Flask\u3067HTTPS\u8d77\u52d5\uff08\u5171\u901a\uff09<\/h2>\n  <pre>\napp.run(\n    host=\"0.0.0.0\",\n    port=5000,\n    ssl_context=(\"cert\/192.168.0.105+2.pem\",\n                 \"cert\/192.168.0.105+2-key.pem\"),\n)\n  <\/pre>\n  <p>\u30a2\u30af\u30bb\u30b9\u4f8b\uff1a<\/p>\n  <pre>https:\/\/192.168.0.105:5000<\/pre>\n<\/section>\n\n<section class=\"card\">\n  <h2>8. ngrok\u3068\u306f\uff08WAN\u5411\u3051\uff09<\/h2>\n  <ul>\n    <li>\u30ed\u30fc\u30ab\u30eb\u7aef\u672b \u2192 ngrok\u30af\u30e9\u30a6\u30c9\u3078\u30a2\u30a6\u30c8\u30d0\u30a6\u30f3\u30c9\u63a5\u7d9a\u3067\u30c8\u30f3\u30cd\u30eb\u3092\u5f35\u308b\uff08NAT\u914d\u4e0b\u3067\u3082\u901a\u308a\u3084\u3059\u3044\uff09<\/li>\n    <li>\u516c\u958bURL\uff08HTTPS\uff09\u3092\u81ea\u52d5\u767a\u884c\u3057\u3001\u305d\u3053\u304b\u3089\u30ed\u30fc\u30ab\u30eb\u3078\u8ee2\u9001<\/li>\n    <li>TLS\u306f\u901a\u5e38ngrok\u5074\u3067\u7d42\u7aef\uff08\u30ed\u30fc\u30ab\u30eb\u306fHTTP\u3067\u3082OK\uff09<\/li>\n  <\/ul>\n  <p class=\"small warn\">\u793e\u5916\u306b\u516c\u958b\uff1d\u7a74\u3092\u958b\u3051\u308b\u3002\u30c7\u30e2\u7528\u30a2\u30ab\u30a6\u30f3\u30c8\u30fb\u30c7\u30e2\u7528\u30c7\u30fc\u30bf\u30fb\u6700\u4f4e\u9650\u306e\u8a8d\u8a3c\u306f\u5fc5\u9808\u3002<\/p>\n<\/section>\n\n<section class=\"card\">\n  <h2>9. ngrok \u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\uff08Windows \/ Ubuntu\uff09<\/h2>\n\n  <h3>9-1. Windows\uff08\u63a8\u5968\uff1aMicrosoft Store \/ WinGet\uff09<\/h3>\n  <p class=\"small\">\u300cngrok\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u300d\u554f\u984c\u306e\u591a\u304f\u306f <b>\u672a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb or PATH<\/b>\u3002\u307e\u305a\u3053\u3053\u3092\u78ba\u5b9f\u306b\u3002<\/p>\n  <pre>\n# Microsoft Store \u7d4c\u7531\uff08\u63a8\u5968\uff09\nwinget install ngrok -s msstore\n\n# \u3082\u3057\u304f\u306f winget \u306eID\u6307\u5b9a\uff08\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u3053\u3061\u3089\u304c\u901a\u308b\uff09\nwinget install -e --id Ngrok.Ngrok\n\n# \u52d5\u4f5c\u78ba\u8a8d\nngrok version\nwhere ngrok\n  <\/pre>\n\n  <h3>9-2. Ubuntu\uff08Snap\uff09<\/h3>\n  <pre>\nsudo apt update\nsudo apt install -y snapd\nsudo snap install ngrok\nngrok version\n  <\/pre>\n\n  <h3>9-3. Ubuntu\uff08Apt\u30ea\u30dd\u30b8\u30c8\u30ea\uff1a\u516c\u5f0f\u624b\u9806\uff09<\/h3>\n  <p class=\"small\">Snap\u304c\u5acc\u306a\u3089\u3053\u308c\u3002\u30c7\u30a3\u30b9\u30c8\u30ea\u3084\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u4f7f\u3044\u5206\u3051\u3002<\/p>\n  <pre>\ncurl -sSL https:\/\/ngrok-agent.s3.amazonaws.com\/ngrok.asc \\\n  | sudo tee \/etc\/apt\/trusted.gpg.d\/ngrok.asc >\/dev\/null \\\n  && echo \"deb https:\/\/ngrok-agent.s3.amazonaws.com bookworm main\" \\\n  | sudo tee \/etc\/apt\/sources.list.d\/ngrok.list \\\n  && sudo apt update \\\n  && sudo apt install -y ngrok\n\nngrok version\n  <\/pre>\n  <p class=\"small warn\">\u4e0a\u306e <code>bookworm<\/code> \u306fDebian\u5411\u3051\u306e\u4f8b\u3002Ubuntu\u3067\u4f7f\u3046\u5834\u5408\u306f\u516c\u5f0f\u30da\u30fc\u30b8\u306e\u6307\u793a\u306b\u5bc4\u305b\u308b\u3053\u3068\u3002<\/p>\n<\/section>\n\n<section class=\"card\">\n  <h2>10. ngrok \u3078\u306e Token \u767b\u9332\uff08\u5fc5\u9808\u30cd\u30bf\uff09<\/h2>\n  <p>\n    ngrok\u306f\u300c\u8a8d\u8a3c\u30c8\u30fc\u30af\u30f3\uff08authtoken\uff09\u300d\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u5236\u9650\u304c\u7de9\u304f\u306a\u3063\u305f\u308a\u3001\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u7ba1\u7406\u304c\u52b9\u304f\u3002\n    \u30c8\u30fc\u30af\u30f3\u306f ngrok \u306e\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067\u53d6\u5f97\u3059\u308b\u3002\n  <\/p>\n\n  <h3>10-1. Token\u767b\u9332\u30b3\u30de\u30f3\u30c9\uff08\u73fe\u884c\uff09<\/h3>\n  <pre>\nngrok config add-authtoken YOUR_TOKEN\n  <\/pre>\n\n  <h3>10-2. \u767b\u9332\u78ba\u8a8d\uff08\u8a2d\u5b9a\u30c1\u30a7\u30c3\u30af\uff09<\/h3>\n  <pre>\nngrok config check\n  <\/pre>\n\n  <h3>10-3. \u3069\u3053\u306b\u4fdd\u5b58\u3055\u308c\u308b\u304b<\/h3>\n  <ul>\n    <li>ngrok\u306f\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\uff08ngrok.yml\uff09\u306bauthtoken\u3092\u66f8\u304d\u8fbc\u3080\u3002<\/li>\n    <li>\u5834\u6240\u306fOS\u3067\u7570\u306a\u308b\u304c\u3001<code>ngrok config<\/code> \u914d\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067\u7ba1\u7406\u3067\u304d\u308b\uff08\u76f4\u63a5\u7de8\u96c6\u3082\u53ef\u80fd\uff09\u3002<\/li>\n  <\/ul>\n\n  <p class=\"small warn\">\n    \u65e7\u30b3\u30de\u30f3\u30c9\uff08<code>ngrok authtoken ...<\/code>\uff09\u304c\u7d39\u4ecb\u3055\u308c\u3066\u3044\u308b\u8a18\u4e8b\u304c\u6b8b\u3063\u3066\u3044\u308b\u304c\u3001\n    \u73fe\u884c\u306f <code>ngrok config add-authtoken ...<\/code> \u3092\u4f7f\u3046\u306e\u304c\u78ba\u5b9f\u3002\n  <\/p>\n<\/section>\n\n<section class=\"card\">\n  <h2>11. ngrok \u3067\u793e\u5916\u516c\u958b\uff08\u6700\u77ed\uff09<\/h2>\n\n  <h3>11-1. \u30ed\u30fc\u30ab\u30eb\u3067\u30a2\u30d7\u30ea\u8d77\u52d5\uff08HTTP\u3067OK\uff09<\/h3>\n  <pre>\npython app.py\n# http:\/\/127.0.0.1:5000 \u304c\u52d5\u3044\u3066\u3044\u308b\u524d\u63d0\n  <\/pre>\n\n  <h3>11-2. \u30c8\u30f3\u30cd\u30eb\u958b\u59cb<\/h3>\n  <pre>\nngrok http 5000\n  <\/pre>\n\n  <h3>11-3. \u4f7f\u3046URL<\/h3>\n  <ul>\n    <li>ngrok\u306e\u51fa\u529b\u306b\u8868\u793a\u3055\u308c\u308b <b>Forwarding \u306e https URL<\/b> \u3092\u793e\u5916\u3078\u6e21\u3059\u3060\u3051\u3002<\/li>\n    <li class=\"warn\">\u7121\u6599\u30d7\u30e9\u30f3\u7b49\u3067\u306f\u518d\u8d77\u52d5\u3067URL\u304c\u5909\u308f\u308b\u3053\u3068\u304c\u3042\u308b\uff08\u56fa\u5b9aURL\u306f\u8a2d\u5b9a\/\u30d7\u30e9\u30f3\u4f9d\u5b58\uff09\u3002<\/li>\n  <\/ul>\n<\/section>\n\n<section class=\"card\">\n  <h2>12. mkcert \/ ngrok \u6bd4\u8f03<\/h2>\n  <table>\n    <tr><th>\u9805\u76ee<\/th><th>mkcert<\/th><th>ngrok<\/th><\/tr>\n    <tr><td>\u7528\u9014<\/td><td>\u793e\u5185LAN<\/td><td>\u793e\u5916WAN<\/td><\/tr>\n    <tr><td>HTTPS<\/td><td>\u30ed\u30fc\u30ab\u30eb\u7d42\u7aef<\/td><td>ngrok\u7d42\u7aef\uff08\u516c\u958b\u8a3c\u660e\u66f8\uff09<\/td><\/tr>\n    <tr><td>\u76f8\u624b\u7aef\u672b\u8a2d\u5b9a<\/td><td class=\"warn\">CA\u4fe1\u983c\u304c\u5fc5\u8981<\/td><td class=\"ok\">\u4e0d\u8981<\/td><\/tr>\n    <tr><td>URL\u56fa\u5b9a<\/td><td class=\"ok\">\u56fa\u5b9a\uff08IP\/\u30db\u30b9\u30c8\u540d\u304c\u56fa\u5b9a\u306a\u3089\uff09<\/td><td class=\"warn\">\u5909\u308f\u308b\u5834\u5408\u3042\u308a\uff08\u56fa\u5b9a\u306f\u8a2d\u5b9a\/\u30d7\u30e9\u30f3\uff09<\/td><\/tr>\n    <tr><td>\u516c\u958b\u30ea\u30b9\u30af<\/td><td>\u4f4e\uff08LAN\u9650\u5b9a\uff09<\/td><td class=\"ng\">\u9ad8\uff08\u516c\u958b\uff09<\/td><\/tr>\n  <\/table>\n<\/section>\n\n<section class=\"card\">\n  <h2>13. \u5178\u578b\u30c8\u30e9\u30d6\u30eb\uff08\u523a\u3055\u308b\u3084\u3064\u3060\u3051\uff09<\/h2>\n  <ul>\n    <li><b>LAN\u304b\u3089\u7e4b\u304c\u3089\u306a\u3044<\/b> \u2192 Flask\u304c <code>host=\"0.0.0.0\"<\/code> \/ FW \/ Wi-Fi\u306eAP isolation<\/li>\n    <li><b>HTTPS\u8b66\u544a<\/b> \u2192 \u8a3c\u660e\u66f8\u306bIP\u672a\u767b\u9332\uff08SAN\u4e0d\u8db3\uff09 \/ \u7aef\u672b\u306bCA\u672a\u4fe1\u983c<\/li>\n    <li><b>ngrok\u304c\u5b9f\u884c\u3067\u304d\u306a\u3044<\/b> \u2192 \u672a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \/ PATH \/ <code>ngrok version<\/code> \u3067\u78ba\u8a8d<\/li>\n  <\/ul>\n<\/section>\n\n<section class=\"card\">\n  <h2>14. \u53c2\u8003\uff08\u4e00\u6b21\u60c5\u5831\uff09<\/h2>\n  <ul>\n    <li><a href=\"https:\/\/ngrok.com\/docs\/getting-started\" target=\"_blank\" rel=\"noreferrer\">ngrok Getting Started\uff08\u516c\u5f0f\uff09<\/a><\/li>\n    <li><a href=\"https:\/\/ngrok.com\/docs\/agent\" target=\"_blank\" rel=\"noreferrer\">ngrok Agent\uff08authtoken\u542b\u3080\u30fb\u516c\u5f0f\uff09<\/a><\/li>\n    <li><a href=\"https:\/\/ngrok.com\/download\/windows\/\" target=\"_blank\" rel=\"noreferrer\">ngrok Windows Download\uff08\u516c\u5f0f\uff09<\/a><\/li>\n    <li><a href=\"https:\/\/ngrok.com\/download\/linux\" target=\"_blank\" rel=\"noreferrer\">ngrok Linux Download\uff08\u516c\u5f0f\uff09<\/a><\/li>\n    <li><a href=\"https:\/\/snapcraft.io\/install\/ngrok\/ubuntu\" target=\"_blank\" rel=\"noreferrer\">Ubuntu\u3067ngrok\uff08Snapcraft\uff09<\/a><\/li>\n  <\/ul>\n<\/section>\n\n<section class=\"hr\"><\/section>\n\n<p class=\"small\">\n  \u307e\u3068\u3081\uff1a<b>\u793e\u5185\u306fmkcert\u3001\u793e\u5916\u306fngrok\u3002<\/b><br>\n  \u3053\u308c\u3092\u5206\u3051\u308b\u3060\u3051\u3067\u3001HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u306f\u307b\u307c\u8a70\u307e\u3089\u306a\u3044\u3068\u601d\u3046\u3002\n<\/p>\n\n<\/main>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u307e\u3068\u3081\uff08mkcert \/ ngrok\uff5cLAN \/ WAN\uff09 HTTPS\u958b\u767a\u30c6\u30b9\u30c8\u307e\u3068\u3081\uff08mkcert \/ ngrok\uff5cLAN \/ WAN\uff09 \u5bfe\u8c61\uff1aFlask \u7b49\u306eWeb\u30a2\u30d7\u30ea\u3092 HTTPS\u524d\u63d0 \u3067\u793e\u5185 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_EyeCatch_disable":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[6],"tags":[],"class_list":["post-1738","post","type-post","status-publish","format-standard","hentry","category-programing"],"aioseo_notices":[],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1738"}],"version-history":[{"count":5,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1738\/revisions"}],"predecessor-version":[{"id":1743,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/1738\/revisions\/1743"}],"wp:attachment":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}