{"id":21658,"date":"2026-09-22T17:33:35","date_gmt":"2026-09-22T15:33:35","guid":{"rendered":"https:\/\/webhosting.de\/?p=21658"},"modified":"2026-09-22T17:33:39","modified_gmt":"2026-09-22T15:33:39","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/webhosting.de\/ja\/nginx-resolver-cache-richtig-konfigurieren\/","title":{"rendered":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b"},"content":{"rendered":"<div class=\"wh-article\" data-wh-layout=\"2.1.2\" style=\"width:100%;max-width:820px;margin:0 auto;color:#263b4b;font-family:inherit;font-size:18px;line-height:1.8;text-align:start;overflow-wrap:break-word;box-sizing:border-box\"><p class=\"wh-lead\" style=\"font-size:20px;line-height:1.7;color:#233746;margin:0 0 1.1em\">\u4edd <strong style=\"font-weight:700;color:inherit\">NGINX\u30ea\u30be\u30eb\u30d0\u30fc<\/strong> \u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u540d\u306eDNS\u5fdc\u7b54\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u307e\u3059\u304c\u3001HTTP\u5fdc\u7b54\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u307e\u305b\u3093\u3002\u5805\u7262\u306a\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u69cb\u6210\u3092\u5b9f\u73fe\u3059\u308b\u306b\u306f\u3001\u4fe1\u983c\u3067\u304d\u308b\u5185\u90e8\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u3092\u4f7f\u7528\u3057\u3001\u9069\u5207\u306b\u7ba1\u7406\u3055\u308c\u305fDNS TTL\u3092\u539f\u5247\u3068\u3057\u3066\u6709\u52b9\u306b\u3057\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code> \u660e\u793a\u7684\u306a\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3068\u3057\u3066\u306e\u307f\u3002\u7279\u306b\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u53ef\u5909\u3067\u3042\u308b\u5834\u5408\u306b\u306f\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u91cd\u8981\u306b\u306a\u308a\u307e\u3059\u3002 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass<\/code> \u307e\u305f\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308bNGINX\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u6a5f\u80fd\u7bc4\u56f2\u304c\u7570\u306a\u308b\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u3064\u3044\u3066\u3082\u540c\u69d8\u3067\u3059\u3002.   <\/p>\n<nav class=\"wh-toc\" aria-label=\"\u3053\u306e\u8a18\u4e8b\u306e\u5185\u5bb9\" style=\"display:block;margin:28px 0 38px;padding:22px;border:1px solid #d9e4e8;border-radius:14px;background:#f4f8f8\"><p class=\"wh-toc-title\" style=\"font-size:13px;font-weight:700;letter-spacing:.08em;color:#49656b;margin:0 0 14px\">\u305d\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3078\u76f4\u63a5\u79fb\u52d5<\/p><div class=\"wh-toc-grid\" style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px\"><div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#resolver-grundlagen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u3068DNS\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u4ed5\u7d44\u307f\u3092\u7406\u89e3\u3059\u308b<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#cache-arten-abgrenzen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">DNS\u30ad\u30e3\u30c3\u30b7\u30e5\u306fHTTP\u30ad\u30e3\u30c3\u30b7\u30e5\u3067\u306f\u3042\u308a\u307e\u305b\u3093<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#laufzeitauflosung-und-versionen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">NGINX \u304c\u540d\u524d\u3092\u518d\u5ea6\u89e3\u6c7a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#ttl-und-valid-planen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">TTL \u3068 valid \u3092\u660e\u793a\u7684\u306b\u8a2d\u5b9a\u3059\u308b<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#variabler-proxy-pass\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">proxy_pass \u5185\u306e\u5909\u6570\u3092\u6b63\u3057\u304f\u5c55\u958b\u3059\u308b<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#dynamische-upstreams\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">resolve \u3092\u4f7f\u7528\u3057\u3066\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u8a2d\u5b9a\u3059\u308b<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#sicher-ausrollen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">\u8a2d\u5b9a\u3092\u78ba\u5b9f\u306b\u78ba\u8a8d\u3057\u3001\u5c55\u958b\u3059\u308b<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#resolver-fehler-eingrenzen\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">\u5178\u578b\u7684\u306a\u30ec\u30be\u30eb\u30d0\u306e\u30a8\u30e9\u30fc\u3092\u4f53\u7cfb\u7684\u306b\u7d5e\u308a\u8fbc\u3080<\/a><\/div>\n<div class=\"wh-toc-item\" style=\"display:block;min-width:0;margin:0;padding:0\"><a class=\"wh-toc-link\" href=\"#betriebsentscheidung\" style=\"display:block;height:100%;padding:12px 15px;border:1px solid #dce6e8;border-radius:9px;background:#fff;color:#18575b;font-size:14px;line-height:1.5;font-weight:600;text-decoration:none;box-sizing:border-box\">\u904b\u7528\u306b\u5411\u3051\u305f\u30ea\u30be\u30eb\u30d0\u30fc\u6226\u7565\u306e\u9078\u5b9a<\/a><\/div>\n<\/div><\/nav><section class=\"wh-section\" aria-labelledby=\"resolver-grundlagen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"resolver-grundlagen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u3068DNS\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u4ed5\u7d44\u307f\u3092\u7406\u89e3\u3059\u308b<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306f\u3001\u30db\u30b9\u30c8\u540d\u3092\u6301\u3064\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u5bfe\u3057\u3066\u3001\u307e\u305aIP\u30a2\u30c9\u30ec\u30b9\u3092\u5fc5\u8981\u3068\u3057\u307e\u3059\u3002\u305d\u306e <strong style=\"font-weight:700;color:inherit\">NGINX\u30ea\u30be\u30eb\u30d0\u30fc<\/strong> \u305d\u306e\u4ee3\u308f\u308a\u306b\u3001\u8a2d\u5b9a\u3067\u6307\u5b9a\u3055\u308c\u305f\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u306b\u554f\u3044\u5408\u308f\u305b\u3092\u884c\u3044\u307e\u3059\u3002\u8fd4\u3055\u308c\u305fDNS\u5fdc\u7b54\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u308b\u305f\u3081\u3001NGINX\u306f\u305d\u306e\u6709\u52b9\u671f\u9593\u4e2d\u306f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u3054\u3068\u306b\u305d\u306e\u540d\u524d\u3092\u518d\u5ea6\u89e3\u6c7a\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002\u3053\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30b7\u30b9\u30c6\u30e0\u3078\u306e\u540d\u524d\u89e3\u6c7a\u306b\u306e\u307f\u9069\u7528\u3055\u308c\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u6307\u4ee4 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolver<\/code> 1\u3064\u307e\u305f\u306f\u8907\u6570\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30a2\u30c9\u30ec\u30b9\u3001\u3042\u308b\u3044\u306f\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b\u30ea\u30be\u30eb\u30d0\u30fc\u8b58\u5225\u5b50\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u30dd\u30fc\u30c8\u304c\u7279\u306b\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001NGINX\u306f\u30dd\u30fc\u30c853\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u8907\u6570\u306e\u30b5\u30fc\u30d0\u30fc\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u3088\u308b\u3068\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u306f\u30e9\u30a6\u30f3\u30c9\u30ed\u30d3\u30f3\u65b9\u5f0f\u3067\u51e6\u7406\u3055\u308c\u307e\u3059\u3002 \u5805\u7262\u306a\u30d6\u30fc\u30c8\u30b9\u30c8\u30e9\u30c3\u30d7\u8a2d\u5b9a\u3092\u884c\u3046\u5834\u5408\u3001\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u306f\u3001\u305d\u306e\u89e3\u6c7a\u304cDNS\u81ea\u4f53\u306b\u4f9d\u5b58\u3057\u306a\u3044\u305f\u3081\u3001\u8ffd\u8de1\u3057\u3084\u3059\u3044\u3053\u3068\u304c\u3088\u304f\u3042\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">NGINX \u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u3001\u30db\u30b9\u30c8\u540d\u306e IPv4 \u304a\u3088\u3073 IPv6 \u30a2\u30c9\u30ec\u30b9\u3092\u8a8d\u8b58\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304c\u4e21\u65b9\u306e\u30d7\u30ed\u30c8\u30b3\u30eb\u30d5\u30a1\u30df\u30ea\u30fc\u3092\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u307e\u3067\u78ba\u5b9f\u306b\u8ee2\u9001\u3067\u304d\u308b\u5834\u5408\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002\u6b21\u306e\u3088\u3046\u306a\u30d1\u30e9\u30e1\u30fc\u30bf\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">ipv4=off<\/code> \u6216\u3044\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">ipv6=off<\/code> \u7279\u5b9a\u306e\u30d5\u30a1\u30df\u30ea\u30fc\u3092\u610f\u56f3\u7684\u306b\u9664\u5916\u3059\u308b\u3082\u306e\u3067\u3059\u304c\u3001\u4e00\u822c\u7684\u306a\u30ad\u30e3\u30c3\u30b7\u30e5\u6700\u9069\u5316\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u3089\u304c\u672c\u5f53\u306b\u5fc5\u8981\u304b\u3069\u3046\u304b\u306f\u3001\u5177\u4f53\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3078\u306e\u5230\u9054\u53ef\u80fd\u6027\u306b\u3088\u3063\u3066\u6c7a\u307e\u308a\u3001\u5358\u306bAAAA\u30ec\u30b3\u30fc\u30c9\u304c\u5b58\u5728\u3059\u308b\u304b\u3069\u3046\u304b\u306b\u5de6\u53f3\u3055\u308c\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u3053\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u306f\u3001\u672c\u683c\u7684\u306a\u518d\u5e30\u578bDNS\u30b5\u30fc\u30d0\u30fc\u3067\u3082\u306a\u3051\u308c\u3070\u3001\u3059\u3079\u3066\u306e\u8a2d\u5b9a\u3092\u81ea\u52d5\u7684\u306b\u5f15\u304d\u7d99\u3050\u3082\u306e\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">\/etc\/resolv.conf<\/code>. NGINX\u306f\u3001\u660e\u793a\u7684\u306b\u6307\u5b9a\u3055\u308c\u305f\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u5185\u90e8\u30be\u30fc\u30f3\u3084\u672c\u756a\u74b0\u5883\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u540d\u306b\u3064\u3044\u3066\u306f\u3001\u81ea\u793e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306b\u3042\u308a\u3001\u4fe1\u983c\u6027\u304c\u9ad8\u304f\u3001\u9069\u5207\u306b\u4fdd\u8b77\u3055\u308c\u305f\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u4f7f\u7528\u3059\u3079\u304d\u3067\u3059\u3002\u305d\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u306a\u540d\u524d\u306b\u5bfe\u3059\u308b\u7ba1\u7406\u8cac\u4efb\u3068\u3001\u6539\u3056\u3093\u3055\u308c\u305fDNS\u5fdc\u7b54\u304b\u3089\u306e\u4fdd\u8b77\u3092\u3001\u7ba1\u7406\u53ef\u80fd\u306a\u30a4\u30f3\u30d5\u30e9\u30b9\u30c8\u30e9\u30af\u30c1\u30e3\u5185\u3067\u7dad\u6301\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"cache-arten-abgrenzen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"cache-arten-abgrenzen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">DNS\u30ad\u30e3\u30c3\u30b7\u30e5\u306fHTTP\u30ad\u30e3\u30c3\u30b7\u30e5\u3067\u306f\u3042\u308a\u307e\u305b\u3093<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30ea\u30be\u30eb\u30d0\u30fc\u306eDNS\u30ec\u30b9\u30dd\u30f3\u30b9\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u3001\u540d\u524d\u3068DNS\u30ec\u30b9\u30dd\u30f3\u30b9\uff08A\u30ec\u30b3\u30fc\u30c9\u3084AAAA\u30ec\u30b3\u30fc\u30c9\u306a\u3069\u306e\u30a2\u30c9\u30ec\u30b9\u306a\u3069\uff09\u3068\u306e\u5bfe\u5fdc\u95a2\u4fc2\u3092\u4fdd\u5b58\u3057\u307e\u3059\u3002\u305d\u306e\u76ee\u7684\u306f\u3001\u540d\u524d\u89e3\u6c7a\u3092\u6bce\u56de\u7e70\u308a\u8fd4\u3059\u3053\u3068\u306a\u304f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306b\u518d\u5ea6\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u306b\u3042\u308a\u307e\u3059\u3002 \u3057\u305f\u304c\u3063\u3066\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306eIP\u30a2\u30c9\u30ec\u30b9\u304c\u5909\u66f4\u3055\u308c\u305f\u5834\u5408\u3001\u91cd\u8981\u306a\u306e\u306fDNS\u5fdc\u7b54\u306e\u6709\u52b9\u671f\u9650\u3067\u3042\u308a\u3001\u4ee5\u524d\u306b\u8fd4\u3055\u308c\u305fHTTP\u5fdc\u7b54\u306e\u5185\u5bb9\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u3053\u308c\u3068\u306f\u5225\u306b\u4fdd\u5b58\u3057\u307e\u3059 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_cache<\/code> \u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u304b\u3089\u306eHTTP\u30ec\u30b9\u30dd\u30f3\u30b9\u3002 \u30ad\u30fc\u306b\u306f\u3001\u8a2d\u5b9a\u306b\u5fdc\u3058\u3066URI\u3001\u30db\u30b9\u30c8\u3001\u30d8\u30c3\u30c0\u30fc\u306a\u3069\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u4e00\u81f4\u3057\u305f\u5834\u5408\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u306f\u65e2\u306b\u4fdd\u5b58\u3055\u308c\u3066\u3044\u308b\u30ec\u30b9\u30dd\u30f3\u30b9\u304c\u8fd4\u3055\u308c\u307e\u3059\u3002\u3053\u3053\u3067\u767a\u751f\u3059\u308b\u554f\u984c\u3068\u3057\u3066\u306f\u3001\u30da\u30fc\u30b8\u304c\u53e4\u304f\u306a\u3063\u3066\u3044\u308b\u3001\u8aa4\u3063\u305f\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u304c\u8fd4\u3055\u308c\u308b\u3001\u4e88\u671f\u3057\u306a\u3044\u30ad\u30e3\u30c3\u30b7\u30e5\u30d2\u30c3\u30c8\u306a\u3069\u304c\u6319\u3052\u3089\u308c\u307e\u3059\u3002\u3053\u306e\u6a5f\u80fd\u306f\u3001NGINX\u304c\u65b0\u3057\u3044\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u63a5\u7d9a\u3092\u78ba\u7acb\u3059\u308b\u969b\u306b\u3069\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3059\u308b\u304b\u3092\u6c7a\u5b9a\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30aa\u30fc\u30d7\u30f3\u30d5\u30a1\u30a4\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u7b2c3\u306e\u30ec\u30a4\u30e4\u30fc\u3067\u3059\u3002\u3053\u308c\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u306b\u95a2\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u60c5\u5831\u3084\u30aa\u30fc\u30d7\u30f3\u306a\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30bf\u3092\u4fdd\u6301\u3057\u307e\u3059\u304c\u3001DNS\u5fdc\u7b54\u3084HTTP\u30b3\u30f3\u30c6\u30f3\u30c4\u306f\u4fdd\u6301\u3057\u307e\u305b\u3093\u3002\u9759\u7684\u914d\u4fe1\u306b\u95a2\u3059\u308b\u3053\u306e\u533a\u5225\u306b\u3064\u3044\u3066\u3055\u3089\u306b\u8a73\u3057\u304f\u77e5\u308a\u305f\u3044\u65b9\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u4e8b\u3092\u3054\u89a7\u304f\u3060\u3055\u3044\u3002 <a href=\"https:\/\/webhosting.de\/ja\/nginx-%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e6%9c%80%e9%81%a9%e5%8c%96%e3%82%a6%e3%82%a3%e3%83%b3%e3%83%89%e3%82%a6\/\">NGINX\u306e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a1\u30a4\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u8a2d\u5b9a<\/a>. \u3002\u3057\u304b\u3057\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u306eTTL\u3092\u9078\u629e\u3059\u308b\u305f\u3081\u306e\u5224\u65ad\u6750\u6599\u306f\u63d0\u4f9b\u3057\u3066\u3044\u306a\u3044\u3002.<\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u3057\u305f\u304c\u3063\u3066\u3001HTTP\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30af\u30ea\u30a2\u3001\u30d1\u30fc\u30b8\u3001\u307e\u305f\u306f\u8abf\u6574\u3092\u884c\u3063\u3066\u3082\u3001DNS\u306e\u5909\u66f4\u304c\u901f\u304f\u306a\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u9006\u306b\u3001\u65b0\u3057\u3044DNS\u89e3\u6c7a\u3092\u884c\u3063\u3066\u3082\u3001\u8aa4\u3063\u3066\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u305fHTTP\u30ec\u30b9\u30dd\u30f3\u30b9\u306f\u4fee\u6b63\u3055\u308c\u307e\u305b\u3093\u3002\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306e\u5834\u5408\u3001 <strong style=\"font-weight:700;color:inherit\">DNS\u30ad\u30e3\u30c3\u30b7\u30e5<\/strong> \u3055\u3089\u306b\u3001\u540d\u524d\u3068\u30a2\u30c9\u30ec\u30b9\u306e\u307f\u306b\u57fa\u3065\u3044\u3066\u52d5\u4f5c\u3057\u307e\u3059\u3002\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5065\u5168\u6027\u3092\u691c\u8a3c\u3059\u308b\u308f\u3051\u3067\u3082\u306a\u304f\u3001\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u3084\u30ea\u30c8\u30e9\u30a4\u3001\u3042\u308b\u3044\u306f\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3078\u306e\u9069\u5207\u306a\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u8a2d\u5b9a\u306b\u4ee3\u308f\u308b\u3082\u306e\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002.  <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"laufzeitauflosung-und-versionen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"laufzeitauflosung-und-versionen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">NGINX \u304c\u540d\u524d\u3092\u518d\u5ea6\u89e3\u6c7a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30db\u30b9\u30c8\u540d\u306f\u3001NGINX\u304c\u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u3080\u6642\u70b9\u3067\u65e2\u306b\u5224\u660e\u3057\u3066\u3044\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4e00\u65b9\u3001\u53ef\u5909\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u5834\u5408\u306f\u4e8b\u60c5\u304c\u7570\u306a\u308a\u3001\u4f8b\u3048\u3070 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass http:\/\/$backend;<\/code>. NGINX\u306f\u307e\u305a\u3001\u5b9a\u7fa9\u3055\u308c\u305f\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30b0\u30eb\u30fc\u30d7\u5185\u3067\u7d50\u679c\u3068\u3057\u3066\u5f97\u3089\u308c\u308b\u540d\u524d\u3092\u691c\u7d22\u3057\u307e\u3059\u3002\u305d\u3053\u3067\u4e00\u81f4\u3059\u308b\u540d\u524d\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u3001\u5b9f\u884c\u6642\u306b\u5b9b\u5148\u30a2\u30c9\u30ec\u30b9\u3092\u7279\u5b9a\u3059\u308b\u305f\u3081\u306b\u3001\u8a2d\u5b9a\u6e08\u307f\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u305d\u306e\u5831\u544a <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">no resolver defined<\/code> \u3053\u306e\u6587\u8108\u306b\u304a\u3044\u3066\u3001HTTP\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u5b58\u5728\u3057\u306a\u3044\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001NGINX\u304c\u5fc5\u8981\u306a\u5b9f\u884c\u6642\u306e\u89e3\u6c7a\u3092\u884c\u3046\u305f\u3081\u306eDNS\u30b5\u30fc\u30d0\u30fc\u3092\u8a8d\u8b58\u3057\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u610f\u5473\u3057\u307e\u3059\u3002. <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolver<\/code> \u3053\u306e\u6587\u8108\u3067\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">http<\/code>, <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">server<\/code> \u6216\u3044\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">location<\/code> \u306b\u3042\u308b\u3002\u306e\u4e2d\u5fc3\u7684\u306a\u30a8\u30f3\u30c8\u30ea\u3068\u3057\u3066 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">http<\/code>-Block\u306f\u3001\u8907\u6570\u306e\u4eee\u60f3\u30db\u30b9\u30c8\u304c\u540c\u3058\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u4f7f\u7528\u3059\u308b\u5834\u5408\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002\u3088\u308a\u72ed\u3044\u30b9\u30b3\u30fc\u30d7\u306f\u3001\u5b9f\u969b\u306b\u8981\u4ef6\u304c\u7570\u306a\u308b\u5834\u5408\u306b\u306e\u307f\u9069\u3057\u3066\u3044\u307e\u3059\u3002.  <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u3053\u306e\u9577\u671f\u9593\u5229\u7528\u53ef\u80fd\u306a\u5b9f\u884c\u6642\u9593\u5206\u89e3\u80fd\u306b\u3064\u3044\u3066\u306f\u3001\u5f93\u6765\u306e\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30b0\u30eb\u30fc\u30d7\u306e\u52d5\u7684\u306a\u66f4\u65b0\u3068\u306f\u533a\u5225\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u8a2d\u5b9a\u306f\u3001\u76f4\u63a5 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">upstream<\/code>-\u30d6\u30ed\u30c3\u30af\u304a\u3088\u3073 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">server hostname resolve<\/code> \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u3088\u308b\u3068\u3001NGINX\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7248\u3067\u306f\u30d0\u30fc\u30b8\u30e7\u30f31.27.3\u4ee5\u964d\u3067\u5229\u7528\u53ef\u80fd\u3067\u3059\u3002\u305d\u308c\u4ee5\u524d\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7248\u306b\u3064\u3044\u3066\u306f\u3001\u3053\u306e\u30d1\u30bf\u30fc\u30f3\u3092\u81ea\u52d5\u7684\u306b\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u3068\u898b\u306a\u3057\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u6b74\u53f2\u7684\u306b\u3001\u95a2\u9023\u3059\u308b\u6a5f\u80fd\u306e\u4e00\u90e8\u306fNGINX Plus\u306b\u9650\u5b9a\u3055\u308c\u3066\u3044\u305f\u305f\u3081\u3067\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u8a08\u753b\u3059\u308b\u524d\u306b\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f\u306e\u51fa\u529b\u3068\u30d3\u30eb\u30c9\u60c5\u5831\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u6b21\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001NGINX\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u30b3\u30f3\u30d1\u30a4\u30e9\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u3001\u304a\u3088\u3073\u30d3\u30eb\u30c9\u6642\u306b\u4f7f\u7528\u3055\u308c\u305fconfigure\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002. <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-text\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">nginx -V<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u91cd\u8981\u306a\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306b\u304a\u3044\u3066\u3001\u8868\u793a\u3055\u308c\u305f\u72b6\u614b\u3092\u3001\u5b9f\u969b\u306b\u4f7f\u7528\u3057\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u304a\u3088\u3073\u305d\u306e\u63d0\u4f9b\u5143\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3068\u7167\u3089\u3057\u5408\u308f\u305b\u3066\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u91cd\u8981\u306a\u306e\u306f\u3001\u305d\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5fc5\u8981\u306a\u6a5f\u80fd\u3092\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u8a18\u8f09\u3057\u3001\u63d0\u4f9b\u3057\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3067\u3059\u3002\u305d\u306e\u78ba\u8a8d\u304c\u7d42\u308f\u3063\u3066\u521d\u3081\u3066\u3001 <strong style=\"font-weight:700;color:inherit\">\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0<\/strong> \u5805\u7262\u306a\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u4e0a\u306e\u6c7a\u5b9a\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"ttl-und-valid-planen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"ttl-und-valid-planen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">TTL \u3068 valid \u3092\u660e\u793a\u7684\u306b\u8a2d\u5b9a\u3059\u308b<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u306f\u3001\u8ffd\u52a0\u306e\u8a2d\u5b9a\u304c\u306a\u3044\u5834\u5408\u3001\u4ee5\u4e0b\u306e\u8a2d\u5b9a\u306b\u5f93\u3044\u307e\u3059\u3002 <strong style=\"font-weight:700;color:inherit\">DNS-TTL<\/strong> \u554f\u3044\u5408\u308f\u305b\u305f\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u304b\u3089\u306e\u5fdc\u7b54\u5185\u3002\u6a29\u5a01DNS\u4e8b\u696d\u8005\u304c\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306eIP\u30a2\u30c9\u30ec\u30b9\u3092\u5909\u66f4\u3057\u305f\u5834\u5408\u3001NGINX\u306fTTL\u304c\u5207\u308c\u308b\u307e\u3067\u5f93\u6765\u306e\u5fdc\u7b54\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002 \u305d\u306e\u5f8c\u3001\u518d\u5ea6\u540d\u524d\u89e3\u6c7a\u304c\u5fc5\u8981\u306b\u306a\u3063\u305f\u6642\u70b9\u3067\u521d\u3081\u3066\u3001NGINX\u306f\u30ea\u30be\u30eb\u30d0\u30fc\u306b\u518d\u554f\u3044\u5408\u308f\u305b\u3092\u884c\u3044\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u540d\u524d\u30c7\u30fc\u30bf\u306e\u7ba1\u7406\u304c\u884c\u308f\u308c\u3066\u3044\u308b\u5834\u6240\u3067\u6709\u52b9\u671f\u9593\u3092\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30d1\u30e9\u30e1\u30fc\u30bf <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code> \u3053\u306eTTL\u3092\u3001\u8a2d\u5b9a\u3055\u308c\u305f\u671f\u9593\u3067\u5b8c\u5168\u306b\u7f6e\u304d\u63db\u3048\u307e\u3059\u3002\u3064\u307e\u308a\u3001DNS\u306eTTL\u306e\u4e0a\u9650\u3092\u5236\u9650\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001TTL\u306b\u52a0\u3048\u3066\u5b9a\u671f\u7684\u306a\u66f4\u65b0\u3082\u5b9a\u7fa9\u3057\u307e\u305b\u3093\u3002\u5024\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid=30s<\/code> \u9577\u3044DNS\u306eTTL\u3092\u77ed\u7e2e\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u304c\u3001\u610f\u56f3\u7684\u306b\u77ed\u304f\u8a2d\u5b9a\u3055\u308c\u305fTTL\u3092\u5ef6\u9577\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002\u3053\u308c\u306f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306e\u79fb\u884c\u304a\u3088\u3073\u30c7\u30d7\u30ed\u30a4\u8a08\u753b\u3068\u6574\u5408\u6027\u304c\u3068\u308c\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002. <\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail1\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5-1024x683.webp\" class=\"wp-image-21662\" alt=\"NGINX\u30ea\u30be\u30eb\u30d0\u30fc\u306b\u304a\u3051\u308bDNS-TTL\u304a\u3088\u3073valid\u304c\u30ad\u30e3\u30c3\u30b7\u30e5\u671f\u9593\u306b\u4e0e\u3048\u308b\u5f71\u97ff\u3092\u793a\u3059\u56f3\u3002.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dns-ttl-valid-entscheidung-219e8485-detail1-c640f6c4f5.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" ><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail1\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">DNS-TTL\u3068valid-Override\u306f\u3001\u305d\u308c\u305e\u308c\u7570\u306a\u308b\u65b9\u6cd5\u3067\u5fdc\u7b54\u304c\u6709\u52b9\u3067\u3042\u308b\u671f\u9593\u3092\u6c7a\u5b9a\u3057\u307e\u3059\u3002.<\/figcaption><\/figure><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30be\u30fc\u30f3\u304c\u78ba\u5b9f\u306b\u7ba1\u7406\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3092\u884c\u308f\u306a\u3044\u8a2d\u5b9a\u304c\u3001\u59a5\u5f53\u306a\u51fa\u767a\u70b9\u3068\u306a\u308a\u307e\u3059\u3002\u4f8b\u793a\u3055\u308c\u3066\u3044\u308b\u30a2\u30c9\u30ec\u30b9\u306f\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u57fa\u3065\u3044\u3066\u9078\u629e\u3055\u308c\u305f\u3082\u306e\u3067\u3042\u308a\u3001\u672c\u756a\u74b0\u5883\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u3068\u3057\u3066\u63a1\u7528\u3057\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u4ee3\u308f\u308a\u306b\u3001\u81ea\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u5185\u306e\u5230\u9054\u53ef\u80fd\u3067\u4fe1\u983c\u3067\u304d\u308bDNS\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002.<\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-nginx\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">resolver 192.0.2.53;\nresolver_timeout 5s;<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">DNS\u306eTTL\u3092\u5909\u66f4\u3067\u304d\u305a\u3001\u6587\u66f8\u5316\u3055\u308c\u305f\u904b\u7528\u4e0a\u306e\u898f\u5b9a\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u304c\u6709\u52b9\u306a\u624b\u6bb5\u3068\u306a\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \u305d\u3046\u3059\u308b\u3053\u3068\u3067\u3001NGINX\u304c\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u4fdd\u6301\u3059\u308b\u671f\u9593\u304c\u660e\u78ba\u306b\u53ef\u8996\u5316\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u4e00\u822c\u7684\u306a\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u4fdd\u6301\u6642\u9593\u3092\u77ed\u304f\u3059\u308b\u3068DNS\u30af\u30a8\u30ea\u306e\u56de\u6570\u304c\u5897\u3048\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u3001\u9577\u304f\u3059\u308b\u3068\u65b0\u3057\u3044\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a2\u30c9\u30ec\u30b9\u3078\u306e\u5207\u308a\u66ff\u3048\u304c\u9045\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002. <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-nginx\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">resolver 192.0.2.53 valid=30s;\nresolver_timeout 5s;<\/code><\/pre><\/div><div class=\"wh-table-scroll\" tabindex=\"0\" role=\"region\" aria-label=\"DNS-TTL\u304a\u3088\u3073valid\u306b\u95a2\u3059\u308b\u521d\u671f\u8a2d\u5b9a\" style=\"width:100%;max-width:100%;overflow-x:auto;margin:28px 0;border:1px solid #dce5e9;border-radius:14px;background:#fff;box-shadow:0 10px 28px -16px rgba(24,47,60,.32);box-sizing:border-box\"><table style=\"width:100%;min-width:580px;border-collapse:separate;border-spacing:0;border:0;margin:0;font-size:15px;line-height:1.6;background:#fff\"><caption style=\"padding:20px;text-align:start;font-size:17px;line-height:1.5;font-weight:700;color:#173246;background:#fff\">DNS-TTL\u304a\u3088\u3073valid\u306b\u95a2\u3059\u308b\u521d\u671f\u8a2d\u5b9a<\/caption><thead><tr><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">\u4e8b\u696d\u72b6\u6cc1<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">\u6700\u521d\u306e\u6c7a\u5b9a<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">\u7406\u7531<\/th><th scope=\"col\" style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#19394d;color:#fff\">\u30ea\u30b9\u30af<\/th><\/tr><\/thead><tbody><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">TTL\u304c\u9069\u5207\u306b\u7ba1\u7406\u3055\u308c\u305fDNS\u30be\u30fc\u30f3<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">\u300cvalid\u300d\u3092\u7701\u7565\u3059\u308b<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">NGINX\u306f\u3001DNS\u3067\u6307\u5b9a\u3055\u308c\u305f\u30ad\u30e3\u30c3\u30b7\u30e5\u671f\u9593\u306b\u5f93\u3044\u307e\u3059\u3002.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">TTL\u306f\u5909\u66f4\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u5408\u81f4\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">TTL\u306f\u5236\u5fa1\u4e0d\u53ef\u3001\u4ea4\u63db\u306f\u3081\u3063\u305f\u306b\u306a\u3044<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">valid\u3092\u660e\u78ba\u306b\u8a18\u9332\u3059\u308b<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">\u30d7\u30ed\u30ad\u30b7\u306e\u4fdd\u6709\u671f\u9593\u306f\u8a08\u753b\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">\u53e4\u3044\u5b9b\u5148\u30a2\u30c9\u30ec\u30b9\u306f\u3001DNS\u3067\u60f3\u5b9a\u3055\u308c\u3066\u3044\u308b\u671f\u9593\u3088\u308a\u3082\u9577\u304f\u4f7f\u7528\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">\u983b\u7e41\u306a\u30b5\u30fc\u30d3\u30b9\u3084\u30b3\u30f3\u30c6\u30ca\u306e\u4ea4\u63db<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">\u6a29\u5a01DNS\u3067\u306f\u77ed\u3044TTL\u3092\u512a\u5148\u3059\u308b<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">DNS\u306f\u3001\u6700\u65b0\u60c5\u5831\u306e\u4e3b\u8981\u306a\u60c5\u5831\u6e90\u3067\u3042\u308a\u7d9a\u3051\u3066\u3044\u307e\u3059\u3002.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#fff;color:#294252\">\u30af\u30a8\u30ea\u304c\u5897\u3048\u308b\u3068\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30a4\u30f3\u30d5\u30e9\u306b\u8ca0\u8377\u304c\u304b\u304b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002.<\/td><\/tr><tr><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">DNS \u30d9\u30fc\u30b9\u306e\u30b5\u30fc\u30d3\u30b9\u691c\u51fa<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">resolve \u3092\u4f7f\u7528\u3057\u3066\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u78ba\u8a8d\u3059\u308b<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">Upstream\u306e\u30e1\u30f3\u30d0\u30fc\u306f\u3001DNS\u306e\u5909\u66f4\u3092\u8ffd\u8de1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002.<\/td><td style=\"padding:15px 18px;border:0;border-bottom:1px solid #e2e9ed;text-align:start;vertical-align:top;white-space:normal;font-size:15px;line-height:1.6;background:#f4f7f9;color:#294252\">\u30d0\u30fc\u30b8\u30e7\u30f3\u304a\u3088\u3073\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u304c\u5f53\u8a72\u6a5f\u80fd\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002.<\/td><\/tr><\/tbody><\/table><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u3057\u305f\u304c\u3063\u3066\u3001\u3053\u306e\u5224\u65ad\u306f\u7279\u5b9a\u306e\u79d2\u6570\u304b\u3089\u59cb\u307e\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u8ab0\u304cDNS\u30c7\u30fc\u30bf\u3092\u7ba1\u7406\u3057\u3066\u3044\u308b\u306e\u304b\u3001\u305d\u3057\u3066\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306e\u5207\u308a\u66ff\u3048\u304c\u3069\u306e\u304f\u3089\u3044\u306e\u901f\u3055\u3067\u6709\u52b9\u306b\u306a\u308b\u5fc5\u8981\u304c\u3042\u308b\u306e\u304b\u3068\u3044\u3046\u554f\u3044\u304b\u3089\u59cb\u307e\u308b\u3002. <strong style=\"font-weight:700;color:inherit\">\u6709\u52b9<\/strong> \u3053\u308c\u306f\u3001\u3053\u306e\u30eb\u30fc\u30eb\u306b\u5bfe\u3059\u308b\u610f\u56f3\u7684\u306a\u5909\u66f4\u3067\u3059\u3002\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u306e\u901f\u5ea6\u5411\u4e0a\u3084DNS\u306e\u554f\u984c\u3092\u96a0\u853d\u3059\u308b\u305f\u3081\u306e\u3001\u753b\u4e00\u7684\u306a\u624b\u6bb5\u3068\u3057\u3066\u306f\u9069\u3057\u3066\u3044\u307e\u305b\u3093\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"variabler-proxy-pass\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"variabler-proxy-pass\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">proxy_pass \u5185\u306e\u5909\u6570\u3092\u6b63\u3057\u304f\u5c55\u958b\u3059\u308b<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u5185\u5bb9\uff1a <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass<\/code> \u5909\u6570\u3067\u3042\u308b\u5834\u5408\u3001NGINX\u306f\u5b9f\u884c\u6642\u306b\u305d\u306e\u7d50\u679c\u3068\u3057\u3066\u5f97\u3089\u308c\u308b\u30db\u30b9\u30c8\u540d\u3092\u51e6\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305a\u3001NGINX\u306f\u8a72\u5f53\u3059\u308b\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30b0\u30eb\u30fc\u30d7\u3092\u691c\u7d22\u3057\u307e\u3059\u3002\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u306f\u3001\u305d\u306e\u540d\u524d\u306b\u5bfe\u3057\u3066\u8a2d\u5b9a\u6e08\u307f\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u5fc5\u8981\u3068\u306a\u308a\u307e\u3059\u3002\u3053\u308c\u304c\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u3001\u901a\u5e38\u6b21\u306e\u3088\u3046\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">no resolver defined<\/code> HTTP\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u95a2\u3059\u308b\u6307\u6458\u3067\u306f\u306a\u304f\u3001\u3053\u306e\u5b9f\u884c\u30d1\u30b9\u306b\u5bfe\u3059\u308bDNS\u8a2d\u5b9a\u304c\u6b20\u843d\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u6b21\u306e\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\u3067\u306f\u3001\u5b9f\u884c\u6642\u306e\u89e3\u6c7a\u51e6\u7406\u3092\u610f\u56f3\u7684\u306b\u53ef\u8996\u5316\u3057\u3066\u3044\u307e\u3059\u3002\u30ea\u30be\u30eb\u30d0\u30fc\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">http<\/code>-\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u5b9a\u7fa9\u3055\u308c\u308b\u305f\u3081\u3001\u3088\u308a\u5177\u4f53\u7684\u306a\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u4e0a\u66f8\u304d\u3055\u308c\u306a\u3044\u9650\u308a\u3001\u8907\u6570\u306e\u4eee\u60f3\u30db\u30b9\u30c8\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u305f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30a2\u30c9\u30ec\u30b9\u306f\u3001\u5404\u74b0\u5883\u306e\u5185\u90e8\u30ea\u30be\u30eb\u30d0\u30fc\u3067\u7f6e\u304d\u63db\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002. <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-nginx\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    server {\n        listen 80;\n\n        location \/ {\n            set $backend api.internal.example;\n            proxy_pass http:\/\/$backend;\n        }\n    }\n}<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u6307\u4ee4 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolver_timeout<\/code> \u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u6709\u52b9\u671f\u9593\u3092\u5236\u5fa1\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001NGINX\u304c\u540d\u524d\u89e3\u6c7a\u3092\u5f85\u6a5f\u3059\u308b\u6642\u9593\u3092\u5236\u9650\u3059\u308b\u3082\u306e\u3067\u3042\u308a\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f30\u79d2\u3067\u3059\u3002 \u3053\u306e\u8a2d\u5b9a\u306f\u3001\u305d\u306e\u4ed6\u306e\u30a8\u30e9\u30fc\u8a31\u5bb9\u7bc4\u56f2\u306e\u4e00\u90e8\u3067\u3059\u3002\u5024\u304c\u9ad8\u3059\u304e\u308b\u3068\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u5931\u6557\u3057\u3066\u304b\u3089\u30a8\u30e9\u30fc\u5fdc\u7b54\u304c\u8fd4\u3055\u308c\u308b\u307e\u3067\u306e\u6642\u9593\u304c\u9577\u304f\u306a\u308a\u3001\u4f4e\u3059\u304e\u308b\u3068\u3001\u4e00\u6642\u7684\u306b\u52d5\u4f5c\u304c\u9045\u3044\u5185\u90e8\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u3001\u56de\u907f\u53ef\u80fd\u306a\u89e3\u6c7a\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u5358\u4e00\u306e\u3001\u660e\u78ba\u306b\u533a\u5207\u3089\u308c\u305f\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u3064\u3044\u3066\u306f\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">location<\/code>-\u30d6\u30ed\u30c3\u30af\u306b\u8a18\u8ff0\u3057\u307e\u3059\u3002\u8907\u6570\u306e\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u30b5\u30fc\u30d0\u30fc\u3067\u540c\u3058\u89e3\u50cf\u5ea6\u304c\u5fc5\u8981\u306a\u5834\u5408\u306f\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">server<\/code>- \u307e\u305f\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">http<\/code>-Block\u306f\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u306e\u624b\u9593\u304c\u5c11\u306a\u3044\u3002NGINX\u3067\u306f\u3001\u3053\u306e\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u30923\u3064\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u3059\u3079\u3066\u3067\u6307\u5b9a\u3067\u304d\u308b\u3002\u305d\u306e\u9069\u7528\u7bc4\u56f2\u306f\u3001\u5358\u4e00\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u4e00\u6642\u7684\u306b\u89e3\u6d88\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u5b9f\u969b\u306e\u904b\u7528\u69cb\u9020\u3092\u53cd\u6620\u3057\u305f\u3082\u306e\u3067\u3042\u308b\u3079\u304d\u3060\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30bf\u30fc\u30b2\u30c3\u30c8\u304c\u5909\u52d5\u3059\u308b\u5834\u5408\u3067\u3082\u3001DNS\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3068\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3078\u306e\u63a5\u7d9a\u306f\u5225\u3005\u306e\u30a8\u30e9\u30fc\u30ab\u30c6\u30b4\u30ea\u3068\u3057\u3066\u6271\u308f\u308c\u307e\u3059\u3002\u540d\u524d\u89e3\u6c7a\u304c\u6210\u529f\u3057\u305f\u304b\u3089\u3068\u3044\u3063\u3066\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30dd\u30fc\u30c8\u306b\u5230\u9054\u3067\u304d\u308b\u3053\u3068\u3084\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u5fdc\u7b54\u3059\u308b\u3053\u3068\u3092\u4fdd\u8a3c\u3059\u308b\u3082\u306e\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u9006\u306b\u3001\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306e\u5024\u3092\u5927\u304d\u304f\u3057\u3066\u3082\u3001\u5230\u9054\u4e0d\u53ef\u80fd\u306a\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30a2\u30c9\u30ec\u30b9\u304c\u89e3\u6c7a\u3055\u308c\u308b\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"dynamische-upstreams\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"dynamische-upstreams\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">resolve \u3092\u4f7f\u7528\u3057\u3066\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u8a2d\u5b9a\u3059\u308b<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u7279\u5b9a\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b0\u30eb\u30fc\u30d7\u306b\u3064\u3044\u3066\u306f\u3001\u5404\u30ed\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u5909\u6570\u306b\u3088\u308b\u30bf\u30fc\u30b2\u30c3\u30c8\u5024\u3092\u6307\u5b9a\u3059\u308b\u3088\u308a\u3082\u3001\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u65b9\u304c\u5206\u304b\u308a\u3084\u3059\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30d1\u30bf\u30fc\u30f3\u3067\u306f\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30e1\u30f3\u30d0\u30fc\u306e\u5b9a\u7fa9\u3068\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u5206\u96e2\u3057\u3066\u3044\u307e\u3059\uff1a <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass<\/code> \u3053\u306e\u30b0\u30eb\u30fc\u30d7\u3092\u6307\u3057\u793a\u3059\u4e00\u65b9\u3067\u3001\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u30db\u30b9\u30c8\u540d\u306fDNS\u3092\u4ecb\u3057\u3066\u66f4\u65b0\u53ef\u80fd\u3067\u3059\u3002\u3053\u308c\u306f\u3001\u8907\u6570\u306e\u30eb\u30fc\u30c8\u304c\u540c\u3058\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u6307\u3057\u3066\u3044\u308b\u5834\u5408\u306b\u7279\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30d1\u30e9\u30e1\u30fc\u30bf <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolve<\/code> \uff5e\u306e\u305f\u3081\u306e <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">server<\/code>-\u3053\u306e\u30a8\u30f3\u30c8\u30ea\u306f\u3001NGINX 1.5.12 \u304b\u3089\u6b74\u53f2\u7684\u306b\u5b58\u5728\u3057\u3066\u3044\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u3088\u308b\u3068\u3001NGINX \u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7248\u3067\u306f\u30d0\u30fc\u30b8\u30e7\u30f3 1.27.3 \u4ee5\u964d\u3067\u521d\u3081\u3066\u5229\u7528\u53ef\u80fd\u3068\u306a\u308a\u3001\u305d\u308c\u4ee5\u524d\u306f\u5546\u7528\u7248\u306b\u9650\u5b9a\u3055\u308c\u3066\u3044\u305f\u6a5f\u80fd\u3067\u3057\u305f\u3002\u307e\u305f\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">upstream<\/code>-Block\u306f\u3001\u30d0\u30fc\u30b8\u30e7\u30f31.27.3\u4ee5\u964d\u3067\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3068\u3057\u3066\u6587\u66f8\u5316\u3055\u308c\u3066\u3044\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u4edd <strong style=\"font-weight:700;color:inherit\">\u5171\u6709\u30e1\u30e2\u30ea\u9818\u57df<\/strong> \u3053\u308c\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3067\u3082\u3001DNS\u306e\u30c7\u30fc\u30bf\u30d1\u30b9\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002\u3053\u308c\u306f\u3001\u52d5\u7684\u306b\u5909\u66f4\u3055\u308c\u308b\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u8a2d\u5b9a\u306b\u5fc5\u8981\u306a\u3001NGINX\u5185\u90e8\u306e\u5171\u6709\u30e1\u30e2\u30ea\u3092\u63d0\u4f9b\u3059\u308b\u3082\u306e\u3067\u3059\u3002 NGINX\u304cDNS\u89e3\u6c7a\u306e\u969b\u306b\u305d\u306e\u540d\u524d\u306b\u5bfe\u3057\u3066\u5225\u306e\u30a2\u30c9\u30ec\u30b9\u3092\u691c\u51fa\u3057\u305f\u5834\u5408\u3001\u3053\u306e\u5185\u90e8\u3067\u7ba1\u7406\u3055\u308c\u308b\u72b6\u614b\u306b\u57fa\u3065\u3044\u3066\u3001\u518d\u8d77\u52d5\u3059\u308b\u3053\u3068\u306a\u304f\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30b0\u30eb\u30fc\u30d7\u3092\u8abf\u6574\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002. <\/p>\n<figure class=\"wp-block-image size-large wh-figure\" aria-describedby=\"wh-caption-detail2\" style=\"display:block;float:none;clear:both;width:100%;max-width:760px;margin:34px auto 40px;border:1px solid #dae5e9;border-radius:14px;overflow:hidden;background:#f5f8fa;box-shadow:0 10px 28px -17px rgba(24,47,60,.28);box-sizing:border-box\"><div class=\"wh-figure-media\" style=\"display:block;background:#eef3f5;line-height:0\"><img loading=\"lazy\" width=\"800\" height=\"534\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2-1024x683.webp\" class=\"wp-image-21663\" alt=\"\u72ec\u7acb\u3057\u305fDNS\u30ea\u30be\u30eb\u30d0\u30fc\u3001\u5185\u90e8\u306e\u5171\u6709\u30e1\u30e2\u30ea\u72b6\u614b\u3001\u304a\u3088\u3073\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a2\u30c9\u30ec\u30b9\u3092\u5099\u3048\u305f\u52d5\u7684\u306aNGINX\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u6982\u5ff5\u56f3\u3002.\" decoding=\"async\" srcset=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2-1024x683.webp 1024w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2-300x200.webp 300w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2-768x512.webp 768w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2-18x12.webp 18w, https:\/\/webhosting.de\/wp-content\/uploads\/2026\/09\/nginx-dynamischer-upstream-resolve-219e8485-detail2-f2a645bcd2.webp 1536w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" ><\/div><figcaption class=\"wh-caption\" id=\"wh-caption-detail2\" style=\"display:block;margin:0;padding:12px 18px 15px;border-top:1px solid #dce5e9;color:#506575;background:#f5f8fa;font-size:14px;line-height:1.55;text-align:start\">\u5171\u6709\u30e1\u30e2\u30ea\u30be\u30fc\u30f3\u306f\u3001NGINX\u5185\u90e8\u306e\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u72b6\u614b\u3092\u7ba1\u7406\u3057\u307e\u3059\u3002DNS\u89e3\u6c7a\u3068\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3078\u306e\u63a5\u7d9a\u306f\u3001\u305d\u308c\u305e\u308c\u72ec\u7acb\u3057\u3066\u51e6\u7406\u3055\u308c\u307e\u3059\u3002.<\/figcaption><\/figure><div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-nginx\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    upstream application_pool {\n        zone application_pool 64k;\n        server app.internal.example resolve;\n    }\n\n    server {\n        listen 80;\n\n        location \/ {\n            proxy_pass http:\/\/application_pool;\n        }\n    }\n}<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u4ed6\u306e\u3059\u3079\u3066\u306e\u4f8b\u3068\u540c\u69d8\u306b\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">192.0.2.53<\/code> \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u7528\u30a2\u30c9\u30ec\u30b9\u306b\u9650\u5b9a\u3055\u308c\u307e\u3059\u3002 \u5b9f\u969b\u306b\u306f\u3001\u767b\u9332\u3055\u308c\u305f\u30ea\u30be\u30eb\u30d0\u30fc\u306f\u5185\u90e8\u540d\u3092\u78ba\u5b9f\u306b\u628a\u63e1\u3057\u3066\u304a\u308a\u3001NGINX\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3067\u3042\u308a\u3001\u304b\u3064\u4fe1\u983c\u3067\u304d\u308b\u3082\u306e\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u307e\u305f\u3001\u5c0e\u5165\u306b\u5148\u7acb\u3061\u3001\u6700\u65b0\u306e\u30b5\u30f3\u30d7\u30eb\u304b\u3089\u8a2d\u5b9a\u3092\u5358\u7d14\u306b\u5c0e\u304d\u51fa\u3059\u306e\u3067\u306f\u306a\u304f\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u5b9f\u969b\u306e\u6a5f\u80fd\u7bc4\u56f2\u3092\u78ba\u8a8d\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">IPv4\u7d4c\u7531\u3067\u306e\u307f\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u306a\u30b5\u30fc\u30d3\u30b9\u306b\u3064\u3044\u3066\u306f\u3001\u7279\u5b9a\u306e\u5236\u9650\u3092\u8a2d\u3051\u308b\u3053\u3068\u304c\u6b63\u5f53\u5316\u3055\u308c\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\uff1a <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolver 192.0.2.53 ipv6=off;<\/code> \u3053\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u306b\u304a\u3051\u308bAAAA\u30af\u30a8\u30ea\u304a\u3088\u3073IPv6\u30a2\u30c9\u30ec\u30b9\u306e\u9078\u629e\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3053\u308c\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u4e0a\u306e\u5224\u65ad\u3068\u306a\u308a\u307e\u3059\u3002\u30c7\u30e5\u30a2\u30eb\u30b9\u30bf\u30c3\u30af\u304c\u6b63\u5e38\u306b\u6a5f\u80fd\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u5358\u306a\u308b\u7fd2\u6163\u3060\u3051\u3067IPv6\u3092\u7121\u52b9\u306b\u3057\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002NGINX\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u3001\u4e21\u65b9\u306eIP\u30d5\u30a1\u30df\u30ea\u30fc\u3092\u30ea\u30be\u30eb\u30d6\u3057\u307e\u3059\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"sicher-ausrollen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"sicher-ausrollen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">\u8a2d\u5b9a\u3092\u78ba\u5b9f\u306b\u78ba\u8a8d\u3057\u3001\u5c55\u958b\u3059\u308b<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u5909\u66f4\u3092\u884c\u3046\u524d\u306b\u3001\u307e\u305a\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u304c\u5b9f\u969b\u306b\u3069\u306e\u7b87\u6240\u3067\u9069\u7528\u3055\u308c\u3066\u3044\u308b\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u305d\u306e\u305f\u3081\u306b\u306f\u3001\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u3082\u542b\u3081\u305f\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u8a2d\u5b9a\u3092\u63a2\u3057\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u5168\u4f53\u306b\u5bfe\u3057\u3066 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">http<\/code>-\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u304c\u30011\u3064\u306e\u4eee\u60f3\u30db\u30b9\u30c8\u306e\u307f\u3001\u3042\u308b\u3044\u306f\u5358\u4e00\u306e\u30d1\u30b9\u306e\u307f\u306b\u9650\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3002\u30b9\u30b3\u30fc\u30d7\u304c\u72ed\u3059\u304e\u308b\u3068\u3001\u5225\u306e\u53ef\u5909\u30d7\u30ed\u30ad\u30b7\u30d1\u30b9\u304c\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u898b\u3064\u3051\u3089\u308c\u306a\u304f\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u4e00\u65b9\u3001\u30b9\u30b3\u30fc\u30d7\u304c\u5e83\u3059\u304e\u308b\u3068\u3001\u5f8c\u3067\u5909\u66f4\u3092\u5272\u308a\u5f53\u3066\u308b\u306e\u304c\u56f0\u96e3\u306b\u306a\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u8abf\u6574\u306e\u305f\u3073\u306b\u3001\u305d\u306e\u5f8c\u306b\u7d9a\u304f\u306e\u306f <strong style=\"font-weight:700;color:inherit\">\u69cb\u6587\u30c1\u30a7\u30c3\u30af<\/strong>. \u8a2d\u5b9a\u3092\u8aad\u307f\u8fbc\u307f\u3001\u53c2\u7167\u3055\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u306e\u30aa\u30fc\u30d7\u30f3\u3082\u8a66\u307f\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30ea\u30ed\u30fc\u30c9\u524d\u306b\u3001\u5165\u529b\u30df\u30b9\u3001\u7121\u52b9\u306a\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u3001\u304a\u3088\u3073\u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30d5\u30a1\u30a4\u30eb\u5185\u306e\u554f\u984c\u3092\u691c\u51fa\u3067\u304d\u307e\u3059\u3002 \u305f\u3060\u3057\u3001\u3053\u306e\u30c1\u30a7\u30c3\u30af\u3067\u306f\u3001\u767b\u9332\u3055\u308c\u305fDNS\u30b5\u30fc\u30d0\u30fc\u306b\u5230\u9054\u3067\u304d\u308b\u304b\u3001\u671f\u5f85\u3055\u308c\u308b\u540d\u524d\u3092\u8a8d\u8b58\u3057\u3066\u3044\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u89e3\u6c7a\u3055\u308c\u305f\u30a2\u30c9\u30ec\u30b9\u306e\u80cc\u5f8c\u306b\u3042\u308b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u304c\u63a5\u7d9a\u3092\u53d7\u3051\u4ed8\u3051\u3066\u3044\u308b\u304b\u306b\u3064\u3044\u3066\u306f\u78ba\u8a8d\u3067\u304d\u307e\u305b\u3093\u3002. <\/p>\n<div class=\"wh-code-window\" data-wh-code style=\"margin:28px 0 34px;border:1px solid #2c4656;border-radius:12px;overflow:hidden;background:#132a3b;box-shadow:0 9px 25px -13px rgba(15,35,55,.2)\"><div class=\"wh-code-toolbar\" style=\"display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;background:#223e50;color:#edf5fa;font-size:13px;line-height:1.5;font-weight:600\"><span>\u30b3\u30fc\u30c9<\/span><button type=\"button\" class=\"wh-code-copy\" data-wh-copy hidden style=\"padding:6px 11px;border:1px solid #7893a1;border-radius:6px;background:transparent;color:#fff;font-size:12px;line-height:1.5;font-weight:600;cursor:pointer\">\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc<\/button><span class=\"wh-copy-status\" aria-live=\"polite\"><\/span><span data-wh-copy-success hidden>\u30b3\u30d4\u30fc<\/span><span data-wh-copy-fallback hidden>\u30b3\u30fc\u30c9\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u307e\u3059 \u2013 \u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044<\/span><\/div><pre class=\"wh-code\" data-no-translation translate=\"no\" style=\"display:block;margin:0;padding:20px;max-width:100%;overflow-x:auto;color:#edf5fa;background:#132a3b;font:14px\/1.75 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;direction:ltr;text-align:left\"><code class=\"language-text\" style=\"font:inherit;color:inherit;background:transparent;padding:0;border:0;white-space:inherit\">nginx -t\nnginx -s reload<\/code><\/pre><\/div><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u691c\u8a3c\u304c\u6b63\u5e38\u306b\u5b8c\u4e86\u3057\u3066\u304b\u3089\u3001\u30ea\u30ed\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002. <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">nginx -s reload<\/code> \u3053\u308c\u306b\u3088\u308a\u3001NGINX\u306f\u65b0\u3057\u3044\u8a2d\u5b9a\u3067\u65b0\u3057\u3044\u30ef\u30fc\u30ab\u30fc\u3092\u8d77\u52d5\u3057\u3001\u53e4\u3044\u30ef\u30fc\u30ab\u30fc\u3092\u5b89\u5168\u306b\u7d42\u4e86\u3055\u305b\u307e\u3059\u3002\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3084OS\u306b\u3088\u3063\u3066\u306f\u3001\u4ee3\u308f\u308a\u306b\u3001\u305d\u3053\u306b\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u30b5\u30fc\u30d3\u30b9\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u304c\u30ea\u30ed\u30fc\u30c9\u3092\u5b9f\u884c\u3059\u308b\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u3002 \u305d\u306e\u969b\u306f\u3001\u5916\u90e8\u74b0\u5883\u304b\u3089\u306e\u30b3\u30de\u30f3\u30c9\u3092\u305d\u306e\u307e\u307e\u4f7f\u7528\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306b\u95a2\u3059\u308b\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u8a18\u8f09\u3055\u308c\u305f\u624b\u9806\u306b\u5f93\u3063\u3066\u304f\u3060\u3055\u3044\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u305d\u306e\u5f8c\u3001\u4e88\u5b9a\u3055\u308c\u3066\u3044\u308b\u5909\u66f4\u671f\u9593\u5185\u306b\u6280\u8853\u7684\u306a\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u4e88\u60f3\u3055\u308c\u308bDNS TTL\u3068\u3001\u65b0\u3057\u3044\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a2\u30c9\u30ec\u30b9\u306e\u4f7f\u7528\u958b\u59cb\u4e88\u5b9a\u6642\u523b\u3092\u7167\u5408\u3057\u3001\u5b9f\u969b\u306b\u8a31\u53ef\u3055\u308c\u3066\u3044\u308bIP\u30d5\u30a1\u30df\u30ea\u30fc\u7d4c\u7531\u3067\u30b5\u30fc\u30d3\u30b9\u306b\u5230\u9054\u3067\u304d\u308b\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30a2\u30c9\u30ec\u30b9\u3001\u9078\u629e\u3055\u308c\u305f\u30b9\u30b3\u30fc\u30d7\u3001\u304a\u3088\u3073\u8003\u3048\u3089\u308c\u308b <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code>-\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u969c\u5bb3\u304c\u767a\u751f\u3057\u305f\u969b\u306b\u3001\u305d\u306e\u539f\u56e0\u304cDNS\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3001\u3042\u308b\u3044\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u3044\u305a\u308c\u306b\u3042\u308b\u304b\u3092\u7279\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"resolver-fehler-eingrenzen\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"resolver-fehler-eingrenzen\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">\u5178\u578b\u7684\u306a\u30ec\u30be\u30eb\u30d0\u306e\u30a8\u30e9\u30fc\u3092\u4f53\u7cfb\u7684\u306b\u7d5e\u308a\u8fbc\u3080<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30bf\u30fc\u30b2\u30c3\u30c8\u5f0f\u3067\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u3092\u3001\u4ee5\u4e0b\u306e\u5834\u6240\u304b\u3089\u958b\u59cb\u3057\u3066\u304f\u3060\u3055\u3044\u3002 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass<\/code>. \u5909\u6570\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u5834\u5408\u3001\u305d\u306e\u30db\u30b9\u30c8\u540d\u304c\u5b9a\u7fa9\u6e08\u307f\u306e\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30b0\u30eb\u30fc\u30d7\u306b\u5c5e\u3057\u3066\u3044\u306a\u3044\u9650\u308a\u3001NGINX\u306f\u5b9f\u884c\u6642\u306b\u305d\u306e\u30db\u30b9\u30c8\u540d\u3092\u89e3\u6c7a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u306e\u30e1\u30c3\u30bb\u30fc\u30b8 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">no resolver defined<\/code> \u3057\u305f\u304c\u3063\u3066\u3001\u307e\u305a\u3001\u6b20\u843d\u3057\u3066\u3044\u308b\u3001\u3042\u308b\u3044\u306f\u6587\u8108\u4e0a\u8a8d\u8b58\u3067\u304d\u306a\u3044 <strong style=\"font-weight:700;color:inherit\">\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u8a2d\u5b9a<\/strong> \u3002\u30db\u30b9\u30c8\u540d\u3092\u5b89\u6613\u306b\u56fa\u5b9aIP\u30a2\u30c9\u30ec\u30b9\u306b\u7f6e\u304d\u63db\u3048\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u9069\u5207\u306a\u6587\u8108\u306b\u5408\u308f\u305b\u3066\u4fe1\u983c\u3067\u304d\u308b\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u3092\u8ffd\u52a0\u3057\u3066\u304f\u3060\u3055\u3044\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u6b21\u306b\u305d\u306e\u30a2\u30c9\u30ec\u30b9\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30d1\u30b9\u3001\u304a\u3088\u3073\u4f7f\u7528\u4e2d\u306e\u30be\u30fc\u30f3\u306b\u5bfe\u3059\u308b\u7ba1\u8f44\u7bc4\u56f2\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u30d1\u30d6\u30ea\u30c3\u30af\u30ea\u30be\u30eb\u30d0\u30fc\u306f\u5185\u90e8\u540d\u3092\u8a8d\u8b58\u3067\u304d\u307e\u305b\u3093\u3002\u4e00\u65b9\u3001\u5230\u9054\u4e0d\u80fd\u306a\u30ea\u30be\u30eb\u30d0\u30fc\u306f\u89e3\u6c7a\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u767a\u751f\u3055\u305b\u307e\u3059\u3002\u307e\u305f\u3001\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u304c\u3088\u308a\u5177\u4f53\u7684\u306a\u8a2d\u5b9a\u306b\u3088\u3063\u3066\u4e0a\u66f8\u304d\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3069\u3046\u304b\u3082\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002NGINX\u306f\u660e\u793a\u7684\u306b\u6307\u5b9a\u3055\u308c\u305f\u30cd\u30fc\u30e0\u30b5\u30fc\u30d0\u30fc\u306e\u307f\u3092\u4f7f\u7528\u3057\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">\/etc\/resolv.conf<\/code>. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">DNS\u306e\u5909\u66f4\u5f8c\u3082\u53e4\u3044\u5b9b\u5148\u30a2\u30c9\u30ec\u30b9\u304c\u6709\u52b9\u306a\u307e\u307e\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u5fdc\u7b54\u306eTTL\u3068\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code>. \u9577\u3044\u30aa\u30fc\u30d0\u30fc\u30e9\u30a4\u30c9\u306f\u3001DNS\u5fdc\u7b54\u306eTTL\u3092\u4e0a\u66f8\u304d\u3057\u3001\u5909\u66f4\u306e\u53cd\u6620\u3092\u305d\u308c\u306b\u5fdc\u3058\u3066\u9045\u3089\u305b\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u8a31\u5bb9\u3055\u308c\u308b\u4fee\u6b63\u671f\u9593\u306f\u3001\u4e00\u5f8b\u306b\u53ef\u80fd\u306a\u9650\u308a\u77ed\u3044\u671f\u9593\u3068\u3044\u3046\u308f\u3051\u3067\u306f\u306a\u304f\u3001\u5909\u66f4\u30a6\u30a3\u30f3\u30c9\u30a6\u3084DNS\u30a4\u30f3\u30d5\u30e9\u306e\u8a31\u5bb9\u7bc4\u56f2\u306b\u898b\u5408\u3063\u305f\u5024\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u591a\u304f\u306e\u5834\u5408\u3001 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code> \u3088\u308a\u30af\u30ea\u30fc\u30f3\u306a\u89e3\u6c7a\u7b56\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u89e3\u6c7a\u306b\u6210\u529f\u3057\u305f\u5f8c\u3001\u63a5\u7d9a\u306b\u554f\u984c\u304c\u767a\u751f\u3057\u305f\u5834\u5408\u306f\u3001DNS\u3092\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u63a5\u7d9a\u304b\u3089\u5207\u308a\u96e2\u3057\u3066\u304f\u3060\u3055\u3044\u3002A\u30ec\u30b3\u30fc\u30c9\u304a\u3088\u3073AAAA\u30ec\u30b3\u30fc\u30c9\u306e\u5fdc\u7b54\u304c\u3042\u308b\u304b\u3069\u3046\u304b\u3001\u307e\u305f\u5b9b\u5148\u304cIPv6\u7d4c\u7531\u3067\u5b9f\u969b\u306b\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3055\u308c\u3001\u5230\u9054\u53ef\u80fd\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002. <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">ipv6=off<\/code> \u3053\u308c\u306f\u3001IPv4\u306e\u307f\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3055\u308c\u3066\u3044\u308b\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306e\u5834\u5408\u306b\u306e\u307f\u9069\u3057\u3066\u3044\u307e\u3059\u3002DNS\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306f\u540d\u524d\u89e3\u6c7a\u306b\u5f71\u97ff\u3057\u307e\u3059\u304c\u3001\u65e2\u77e5\u306eIP\u30a2\u30c9\u30ec\u30b9\u3078\u306e\u63a5\u7d9a\u30a8\u30e9\u30fc\u306f\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3001\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb\u3001\u30dd\u30fc\u30c8\u3001\u307e\u305f\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u8d77\u56e0\u3059\u308b\u3082\u306e\u3067\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u3064\u3044\u3066\u306f\u3001\u3055\u3089\u306b\u30d0\u30fc\u30b8\u30e7\u30f3\u72b6\u614b\u3001\u5171\u6709\u30e1\u30e2\u30ea\u9818\u57df\u3001\u304a\u3088\u3073 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolve<\/code> \u4e92\u63db\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u95a2\u3057\u3066\u6587\u66f8\u5316\u3055\u308c\u3066\u3044\u308b\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u306e\u30b5\u30dd\u30fc\u30c8\u306f\u3001NGINX 1.27.3 \u4ee5\u964d\u306b\u9069\u7528\u3055\u308c\u307e\u3059\u3002\u305d\u308c\u4ee5\u524d\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u3001\u540c\u7b49\u306e\u3082\u306e\u3068\u307f\u306a\u3057\u3066\u306f\u306a\u308a\u307e\u305b\u3093\u3002. <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">status_zone<\/code> \u307e\u305f\u3001API\u30d9\u30fc\u30b9\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u7d71\u8a08\u306f\u3001NGINX\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u5411\u3051\u306e\u6c4e\u7528\u7684\u306a\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3068\u3044\u3046\u306e\u3082\u3001\u524d\u8ff0\u306e\u6a5f\u80fd\u306f\u5546\u7528\u7248\u3092\u5bfe\u8c61\u3068\u3057\u305f\u3082\u306e\u3060\u304b\u3089\u3067\u3059\u3002. <\/p>\n<\/section><section class=\"wh-section\" aria-labelledby=\"betriebsentscheidung\" style=\"display:block;margin:0 0 36px;min-width:0\"><h2 id=\"betriebsentscheidung\" style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">\u904b\u7528\u306b\u5411\u3051\u305f\u30ea\u30be\u30eb\u30d0\u30fc\u6226\u7565\u306e\u9078\u5b9a<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u9069\u5207\u306a\u6226\u7565\u306f\u3001\u4e00\u5f8b\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u5024\u304b\u3089\u59cb\u3081\u308b\u306e\u3067\u306f\u306a\u304f\u3001DNS\u306e\u7ba1\u7406\u6a29\u9650\u3068\u5909\u66f4\u983b\u5ea6\u304b\u3089\u59cb\u3081\u308b\u3079\u304d\u3067\u3059\u3002\u30c1\u30fc\u30e0\u304c\u6a29\u5a01\u30be\u30fc\u30f3\u3092\u7ba1\u7406\u3067\u304d\u3001\u305d\u306eTTL\u304c\u30c7\u30d7\u30ed\u30a4\u30e1\u30f3\u30c8\u306e\u671f\u9593\u3092\u73fe\u5b9f\u7684\u306b\u53cd\u6620\u3057\u3066\u3044\u308b\u306a\u3089\u3070\u3001 <strong style=\"font-weight:700;color:inherit\">TTL\u5236\u5fa1\u306b\u3088\u308b\u5206\u89e3\u80fd<\/strong> \u306a\u3057 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code> \u305f\u3044\u3066\u3044\u3001\u6700\u3082\u7406\u89e3\u3057\u3084\u3059\u3044\u51fa\u767a\u70b9\u3068\u306a\u308b\u3002\u305d\u306e\u5834\u5408\u3001DNS\u306f\u3001\u305d\u306e\u5fdc\u7b54\u304c\u3069\u306e\u304f\u3089\u3044\u306e\u671f\u9593\u4f7f\u7528\u3055\u308c\u308b\u304b\u306b\u3064\u3044\u3066\u3001\u4f9d\u7136\u3068\u3057\u3066\u6c7a\u5b9a\u7684\u306a\u60c5\u5831\u6e90\u3068\u306a\u308b\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u610f\u56f3\u7684\u306b\u914d\u7f6e\u3055\u308c\u305f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">valid<\/code> TTL\u3092\u5909\u66f4\u3067\u304d\u305a\u3001\u304b\u3064\u904b\u7528\u4e0a\u306e\u7406\u7531\u304b\u3089\u7570\u306a\u308b\u30ad\u30e3\u30c3\u30b7\u30e5\u671f\u9593\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u5834\u5408\u306b\u691c\u8a0e\u306e\u4f59\u5730\u304c\u3042\u308a\u307e\u3059\u3002 \u305d\u306e\u969b\u3001\u3069\u306e\u7a0b\u5ea6\u306e\u969c\u5bb3\u306e\u5f71\u97ff\u304c\u8a31\u5bb9\u7bc4\u56f2\u3067\u3042\u308b\u304b\u3092\u660e\u78ba\u306b\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u5024\u3092\u5927\u304d\u304f\u8a2d\u5b9a\u3059\u308b\u3068\u3001DNS\u30af\u30a8\u30ea\u306e\u56de\u6570\u306f\u6e1b\u5c11\u3057\u307e\u3059\u304c\u3001\u30b5\u30fc\u30d0\u30fc\u306e\u79fb\u8ee2\u5f8c\u306b\u306f\u3001\u3082\u306f\u3084\u6709\u52b9\u3067\u306f\u306a\u3044\u30a2\u30c9\u30ec\u30b9\u3092\u6307\u3057\u3066\u3057\u307e\u3046\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306f\u3001DNS TTL\u306e\u4e0a\u9650\u5024\u3067\u3082\u306a\u3051\u308c\u3070\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u8abf\u6574\u3059\u308b\u305f\u3081\u306e\u6c4e\u7528\u7684\u306a\u30b9\u30a4\u30c3\u30c1\u3067\u3082\u3042\u308a\u307e\u305b\u3093\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u305d\u306e\u5f8c\u3001\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u69cb\u9020\u306b\u57fa\u3065\u3044\u3066NGINX\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u53ef\u5909\u306e <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">proxy_pass<\/code> \u3053\u308c\u306f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u3054\u3068\u307e\u305f\u306f\u8a2d\u5b9a\u3054\u3068\u306b\u5b9f\u884c\u6642\u306b\u5b9b\u5148\u304c\u6c7a\u5b9a\u3055\u308c\u308b\u5834\u5408\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081\u306b\u306f\u3001\u9069\u5207\u306a\u30b9\u30b3\u30fc\u30d7\u5185\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002DNS \u30d9\u30fc\u30b9\u306e\u30a2\u30c9\u30ec\u30b9\u5909\u66f4\u3092\u884c\u3046\u540d\u524d\u4ed8\u304d\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b0\u30eb\u30fc\u30d7\u306e\u5834\u5408\u3001\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u306f <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">zone<\/code> \u305d\u3057\u3066 <code data-no-translation style=\"font:600 .87em\/1.5 ui-monospace,monospace;color:#235063;background:#edf3f5;border-radius:4px;padding:.1em .3em\">resolve<\/code> NGINX Open Source 1.27.3 \u4ee5\u964d\u304c\u5b9f\u969b\u306b\u5229\u7528\u53ef\u80fd\u3067\u3042\u308c\u3070\u3001\u3088\u308a\u660e\u78ba\u306b\u306a\u308a\u307e\u3059\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u305d\u306e\u5f8c\u306b\u521d\u3081\u3066\u3001\u3042\u306a\u305f\u306f\u6c7a\u3081\u308b\u306e\u3067\u3059 <strong style=\"font-weight:700;color:inherit\">\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3068IP\u30d5\u30a1\u30df\u30ea\u30fc<\/strong>. \u30ea\u30be\u30eb\u30d0\u30fc\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u306f\u3001\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304a\u3088\u3073\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3068\u4e00\u81f4\u3055\u305b\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001DNS\u5fdc\u7b54\u304c\u5f97\u3089\u308c\u306a\u304b\u3063\u305f\u5834\u5408\u306b\u3001\u30a8\u30e9\u30fc\u306e\u901a\u77e5\u304c\u904e\u5ea6\u306b\u9045\u308c\u308b\u3053\u3068\u3092\u9632\u304e\u307e\u3059\u3002IPv4\u307e\u305f\u306fIPv6\u306f\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u5fdc\u3058\u3066\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u5185\u90e8\u30be\u30fc\u30f3\u306b\u5bfe\u3057\u3066\u78ba\u5b9f\u306b\u5fdc\u7b54\u3067\u304d\u308b\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u5bfe\u7b56\u304c\u65bd\u3055\u308c\u305f\u30ea\u30be\u30eb\u30d0\u30fc\u306e\u307f\u3092\u4f7f\u7528\u3057\u3066\u304f\u3060\u3055\u3044\u3002. <\/p>\n<p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">DNS\u89e3\u6c7a\u3068\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u306f\u3001\u305d\u308c\u305e\u308c\u7570\u306a\u308b\u5f79\u5272\u3092\u679c\u305f\u3057\u307e\u3059\u3002\u30ea\u30be\u30eb\u30d0\u30fc\u306f\u3001NGINX\u304c\u3069\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a2\u30c9\u30ec\u30b9\u3092\u4f7f\u7528\u3067\u304d\u308b\u304b\u3092\u6c7a\u5b9a\u3057\u3001\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u306f\u3001\u3059\u3067\u306b\u78ba\u7acb\u3055\u308c\u3066\u3044\u308b\u304c\u975e\u30a2\u30af\u30c6\u30a3\u30d6\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u63a5\u7d9a\u3092\u3001\u518d\u5229\u7528\u306e\u305f\u3081\u306b\u7dad\u6301\u3057\u307e\u3059\u3002 \u3057\u305f\u304c\u3063\u3066\u3001\u63a5\u7d9a\u306e\u518d\u5229\u7528\u306b\u95a2\u3059\u308b\u5909\u66f4\u306f\u3001TTL\u306e\u8a08\u753b\u3084\u30ea\u30be\u30eb\u30d0\u30fc\u306b\u3088\u308b\u30c1\u30a7\u30c3\u30af\u306e\u4ee3\u308f\u308a\u306b\u306f\u306a\u308a\u307e\u305b\u3093\u3002\u3053\u306e\u63a5\u7d9a\u30ec\u30d9\u30eb\u306e\u8a2d\u8a08\u306b\u3064\u3044\u3066\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u4e8b\u304c\u88dc\u8db3\u3057\u3066\u3044\u307e\u3059\u3002 <a href=\"https:\/\/webhosting.de\/ja\/nginx-%e3%81%ae%e3%82%a2%e3%83%83%e3%83%97%e3%82%b9%e3%83%88%e3%83%aa%e3%83%bc%e3%83%a0%e3%83%bb%e3%82%ad%e3%83%bc%e3%83%97%e3%82%a2%e3%83%a9%e3%82%a4%e3%83%96%e3%81%ae%e6%9c%80%e9%81%a9%e3%81%aa\/\">NGINX \u306e\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6<\/a> \u30ea\u30be\u30eb\u30d0\u30fc\u6226\u7565\u3002.<\/p>\n<\/section><section class=\"wh-sources\" style=\"margin:40px 0 0;padding:24px 0 0;border-top:1px solid #dce5e9;color:#596b7b;font-size:14px;line-height:1.65\"><h2 style=\"margin:38px 0 18px;color:#172f41;font-size:clamp(24px,1.25rem + 1vw,30px);font-weight:700;line-height:1.3;scroll-margin-top:115px\">\u51fa\u5178\u304a\u3088\u3073\u5c02\u9580\u7684\u306a\u898b\u89e3<\/h2><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u8abf\u67fb\u72b6\u6cc1\uff1a <time datetime=\"2026-09-22\">2026-09-22<\/time><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\">\u8abf\u67fb\u6642\u70b9\uff1a2026\u5e749\u670822\u65e5\u3002 upstream\u30d6\u30ed\u30c3\u30af\u5185\u306bresolver\u3092\u6307\u5b9a\u3057\u3001server \u2026 resolve\u3092\u4f7f\u7528\u3059\u308b\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u4f8b\u306b\u3064\u3044\u3066\u306f\u3001NGINX\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u7248\u306b\u304a\u3044\u3066\u306f\u30d0\u30fc\u30b8\u30e7\u30f31.27.3\u4ee5\u964d\u3067\u6587\u66f8\u5316\u3055\u308c\u3066\u3044\u308b\u30b5\u30dd\u30fc\u30c8\u5185\u5bb9\u306b\u57fa\u3065\u3044\u3066\u3044\u307e\u3059\u3002\u30c7\u30a3\u30b9\u30c8\u30ea\u30d3\u30e5\u30fc\u30b7\u30e7\u30f3\u30d1\u30c3\u30b1\u30fc\u30b8\u306b\u3064\u3044\u3066\u306f\u3001\u30d3\u30eb\u30c9\u304a\u3088\u3073\u30d9\u30f3\u30c0\u30fc\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3082\u4f75\u305b\u3066\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044\u3002.<\/p><div class=\"wh-source-urls\"><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html<\/span><\/p><p style=\"margin:0 0 1.1em;font-size:inherit;line-height:inherit\"><span class=\"wh-source-url\" data-no-translation dir=\"ltr\" style=\"overflow-wrap:anywhere;font:12px\/1.6 ui-monospace,monospace;direction:ltr\">https:\/\/nginx.org\/en\/docs\/switches.html<\/span><\/p><\/div><\/section><\/div>","protected":false},"excerpt":{"rendered":"<p>\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.<\/p>","protected":false},"author":1,"featured_media":21661,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[834],"tags":[],"class_list":["post-21658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-plesk-webserver-plesk-administration-anleitungen"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"surfer_file_name":null,"surfer_file_original_url":null,"_wp_attachment_image_alt":null,"litespeed-optimize-set":null,"litespeed-optimize-size":null,"_oembed_b5e1eb923ad3b086e579b1befcd4075c":null,"_elementor_source_image_hash":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"_source_url":null,"_elementor_migrations_state_8b2d":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":"834","_wh_make_key":"wh_219e84857fe17178a13ef75220ad3e62","rank_math_internal_links_processed":"1","_wh_make_topic":"NGINX Resolver Cache richtig konfigurieren","_wh_make_input_keywords":["nginx resolver","dns cache nginx","reverse proxy"],"_wh_make_config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"medium","image_format":"webp","final_status":"draft","charts_enabled":true},"_wh_make_links":{"I1":{"id":"I1","post_id":20898,"url":"https:\/\/webhosting.de\/nginx-cache-optimierung-fenster\/","title":"NGINX\u306e\u30aa\u30fc\u30d7\u30f3\u30d5\u30a1\u30a4\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6700\u9069\u306b\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1a\u30b5\u30fc\u30d0\u30fc\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u3055\u3089\u306b\u5f15\u304d\u51fa\u3059\u306b\u306f","excerpt":"Open File Cache \u3092\u9069\u5207\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001NGINX \u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u901f\u5ea6\u304c\u8457\u3057\u304f\u5411\u4e0a\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3084\u30cf\u30f3\u30c9\u30eb\u3092\u30e1\u30e2\u30ea\u5185\u306b\u4fdd\u6301\u3059\u308b\u3053\u3068\u3067\u3001\u8ca0\u8377\u306e\u9ad8\u3044\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u524a\u6e1b\u3059\u308b\u305f\u3081\u3067\u3059\u3002 max\u3001inactive\u3001valid\u3001min_uses \u306b\u9069\u5207\u306a\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u9759\u7684\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u914d\u4fe1\u3092\u6700\u9069\u5316\u3057\u3001\u5fdc\u7b54\u6642\u9593\u3092\u77ed\u7e2e\u3059\u308b\u3068\u3068\u3082\u306b\u3001I\/O\u8ca0\u8377\u3092\u4f4e\u6e1b\u3067\u304d\u307e\u3059\u3002 \u30e1\u30bf\u30c7\u30fc\u30bf\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u8981\u70b9\uff1a\u30b3\u30f3\u30c6\u30f3\u30c4\u305d\u306e\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u5b58\u5728\u306e\u6709\u7121\u3001\u30b5\u30a4\u30ba\u3001\u65e5\u6642\u3001\u30cf\u30f3\u30c9\u30eb\u3092\u4fdd\u5b58\u3059\u308b \u898f\u6a21\u8a2d\u5b9a\uff1aRAM\u4f7f\u7528\u91cf\u3001\u30d2\u30c3\u30c8\u7387\u3001\u5909\u66f4\u983b\u5ea6\u306e\u30d0\u30e9\u30f3\u30b9\u3092\u53d6\u308b \u9069\u7528\u7bc4\u56f2\uff1a\u753b\u50cf\/CSS\/JS\u306b\u6700\u9069\u3002\u52d5\u7684\u306a\u30d1\u30b9\u306f\u5bfe\u8c61\u5916 \u691c\u8a3c\uff1a`open_file_cache_valid`\u3067\u6700\u65b0\u6027\u3092\u78ba\u4fdd \u6e2c\u5b9a\uff1a \u30ec\u30a4\u30c6\u30f3\u30b7\u3001I\/O\u3001\u30a8\u30e9\u30fc\u7387\u3078\u306e\u5f71\u97ff\u3092\u78ba\u8a8d\u3059\u308b Open File Cache\u304c\u5b9f\u969b\u306b\u4fdd\u5b58\u3057\u3066\u3044\u308b\u3082\u306e Open File Cache\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u5bb9\u305d\u306e\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u69cb\u9020\u5316\u3055\u308c\u305f\u60c5\u5831\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u3057\u307e\u3059\u3002\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3059\u308b\u304b\u3001\u305d\u306e\u30b5\u30a4\u30ba\u306f\u3069\u308c\u304f\u3089\u3044\u304b\u3001\u3044\u3064\u5909\u66f4\u3055\u308c\u305f\u304b\u3001\u305d\u3057\u3066\u3069\u306e\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30bf\u304c\u3059\u3067\u306b\u958b\u304b\u308c\u3066\u3044\u308b\u304b\u3068\u3044\u3063\u305f\u60c5\u5831\u3067\u3059\u3002 \u3053\u308c\u3089\u306e\u60c5\u5831\u306f\u30e1\u30e2\u30ea\u5185\u306b\u4fdd\u6301\u3055\u308c\u3066\u304a\u308a\u3001\u6b21\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u307e\u3067\u306e\u51e6\u7406\u6642\u9593\u3092\u77ed\u7e2e\u3057\u307e\u3059\u3002\u30cf\u30fc\u30c9\u30c7\u30a3\u30b9\u30af\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c1\u56de\u56de\u907f\u3055\u308c\u308b\u3054\u3068\u306b\u3001I\/O\u8ca0\u8377\u304c\u8efd\u6e1b\u3055\u308c\u3001CPU\u6642\u9593\u304c\u7bc0\u7d04\u3055\u308c\u307e\u3059\u3002\u3053\u308c\u306f\u7279\u306b\u3001\u591a\u6570\u306e\u5c0f\u3055\u306a\u30d5\u30a1\u30a4\u30eb\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306b\u5927\u304d\u306a\u52b9\u679c\u3092\u767a\u63ee\u3057\u307e\u3059\u3002 NGINX\u306e\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u3088\u308b\u3068\u3001\u3053\u306e\u6a5f\u80fd\u306b\u306f\u3001\u30aa\u30fc\u30d7\u30f3\u3055\u308c\u3066\u3044\u308b\u30c7\u30a3\u30b9\u30af\u30ea\u30d7\u30bf\u3001\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u60c5\u5831\u3001\u304a\u3088\u3073\u30eb\u30c3\u30af\u30a2\u30c3\u30d7\u30a8\u30e9\u30fc\u304c\u542b\u307e\u308c\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u901a\u5e38\u306f\u30ea\u30af\u30a8\u30b9\u30c8\u3054\u3068\u306b\u30c7\u30a3\u30b9\u30af\u3078\u306e\u30a2\u30af\u30bb\u30b9\u304c\u5fc5\u8981\u3068\u306a\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30b9\u30ad\u30e3\u30f3\u3084\u30a2\u30af\u30bb\u30b9\u30d1\u30b9\u304c\u9ad8\u901f\u5316\u3055\u308c\u307e\u3059\u3002 \u79c1\u306f\u3001\u30e1\u30c7\u30a3\u30a2\u30e9\u30a4\u30d6\u30e9\u30ea\u3084\u30d3\u30eb\u30c9\u30a2\u30bb\u30c3\u30c8\u306a\u3069\u3001\u983b\u7e41\u306b\u30a2\u30af\u30bb\u30b9\u3055\u308c\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u5bfe\u3057\u3066\u3001\u610f\u56f3\u7684\u306b\u3053\u306e\u30e1\u30ab\u30cb\u30ba\u30e0\u3092\u6d3b\u7528\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u52b9\u679c\u306f\u3001\u30a2\u30bb\u30c3\u30c8\u304c\u591a\u304f\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u304c\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u306b\u306a\u308a\u304c\u3061\u306a\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u9855\u8457\u306b\u73fe\u308c\u307e\u3059\u3002\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u3088\u308a\u3001stat()\u3001open()\u3001readdir() \u306a\u3069\u306e\u30b7\u30b9\u30c6\u30e0\u30b3\u30fc\u30eb\u304c\u8457\u3057\u304f\u524a\u6e1b\u3055\u308c\u307e\u3059\u3002 \u540c\u6642\u306b\u3001\u30a8\u30f3\u30c8\u30ea\u306e\u9069\u7528\u7bc4\u56f2\u3068\u6709\u52b9\u671f\u9593\u3092\u500b\u5225\u306b\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u3001\u304d\u3081\u7d30\u304b\u306a\u5236\u5fa1\u304c\u53ef\u80fd\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u5229\u70b9\u3092\u5931\u3046\u3053\u3068\u306a\u304f\u3001\u30c7\u30fc\u30bf\u3092\u6700\u65b0\u306e\u72b6\u614b\u306b\u4fdd\u3064\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u30aa\u30fc\u30d7\u30f3\u30d5\u30a1\u30a4\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u6709\u52b9\u306a\u5834\u9762 \u79c1\u306f\u3001\u9759\u7684\u306a\u914d\u4fe1\u306b\u5bfe\u3057\u3066\u610f\u56f3\u7684\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6709\u52b9\u306b\u3057\u3066\u3044\u307e\u3059\uff1a \u753b\u50cf\u3001CSS\u3001JavaScript\u3001\u30d5\u30a9\u30f3\u30c8\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306a\u3069\u3002\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u3001\u30b7\u30e7\u30c3\u30d4\u30f3\u30b0\u30ab\u30fc\u30c8\u3001\u30d1\u30fc\u30bd\u30ca\u30e9\u30a4\u30ba\u3055\u308c\u305f\u30eb\u30fc\u30c8\u3068\u3044\u3063\u305f\u52d5\u7684\u306a\u9818\u57df\u3067\u306f\u3001\u5225\u306e\u30eb\u30fc\u30eb\u304c\u9069\u7528\u3055\u308c\u308b\u305f\u3081\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u4f7f\u7528\u306f\u907f\u3051\u3066\u3044\u307e\u3059\u3002WordPress\u3084\u30d8\u30c3\u30c9\u30ec\u30b9\u30d5\u30ed\u30f3\u30c8\u30a8\u30f3\u30c9\u3067\u306f\u3001\u30c6\u30fc\u30de\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u3001B"},"I2":{"id":"I2","post_id":21613,"url":"https:\/\/webhosting.de\/nginx-upstream-keepalive-optimal-konfigurieren-reverse-proxy-netzwerk\/","title":"\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u3068\u3057\u3066\u6700\u9ad8\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u3092\u5f15\u304d\u51fa\u3059\u305f\u3081\u306eNGINX\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u306e\u6700\u9069\u306a\u8a2d\u5b9a","excerpt":"NGINX\u306e\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u3092\u3001\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u304c\u78ba\u7acb\u3059\u308b\u63a5\u7d9a\u6570\u3092\u6e1b\u3089\u3057\u3001\u9045\u5ef6\u3092\u4f4e\u6e1b\u3057\u3001\u8ca0\u8377\u306e\u30d4\u30fc\u30af\u3092\u78ba\u5b9f\u306b\u5438\u53ce\u3067\u304d\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u305d\u306e\u969b\u3001\u63a5\u7d9a\u306e\u518d\u5229\u7528\u3092\u4fc3\u9032\u3057\u3001\u30c7\u30fc\u30bf\u30d1\u30b9\u3092\u30b9\u30ea\u30e0\u306b\u4fdd\u3064\u305f\u3081\u306b\u3001\u30d7\u30fc\u30eb\u30b5\u30a4\u30ba\u3001\u30bf\u30a4\u30e0\u30ea\u30df\u30c3\u30c8\u3001\u30d8\u30c3\u30c0\u30fc\u3092\u9069\u5207\u306b\u8abf\u6574\u3057\u307e\u3059\u3002 \u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8 HTTP\/1.1 \u3092\u5f37\u5236\u3057\u3001Connection \u30d8\u30c3\u30c0\u30fc\u3092\u6574\u7406\u3059\u308b \u30ef\u30fc\u30ab\u30fc\u3054\u3068\u306e Keepalive \u3092\u9069\u5207\u306b\u8abf\u6574\u3059\u308b \u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3092\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u306e\u5024\u306b\u5408\u308f\u305b\u3066\u8abf\u6574\u3059\u308b \u30ea\u30af\u30a8\u30b9\u30c8\/\u63a5\u7d9a\u3092\u5236\u9650\u30fb\u518d\u5229\u7528 \u63a5\u7d9a\u30ec\u30fc\u30c8\u3068\u30ec\u30a4\u30c6\u30f3\u30b7\u306e\u76e3\u8996 \u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u30fb\u30ad\u30fc\u30d7\u30a2\u30e9\u30a4\u30d6\u304c\u63a5\u7d9a\u8ca0\u8377\u3092\u5287\u7684\u306b\u4f4e\u6e1b\u3059\u308b\u7406\u7531 \u518d\u5229\u7528\u3092\u884c\u308f\u306a\u3044\u5834\u5408\u3001NGINX\u306f\u30ea\u30af\u30a8\u30b9\u30c8\u3054\u3068\u306b\u65b0\u3057\u3044\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u63a5\u7d9a\u3092\u958b\u8a2d\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u3001\u4f59\u5206\u306a\u30cf\u30f3\u30c9\u30b7\u30a7\u30a4\u30af\u3001\u3088\u308a\u591a\u304f\u306eCPU\u30b5\u30a4\u30af\u30eb\u3001\u304a\u3088\u3073\u8ffd\u52a0\u306e\u30ab\u30fc\u30cd\u30eb\u30ea\u30bd\u30fc\u30b9\u3092\u6d88\u8cbb\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002 \u307e\u3055\u306b\u3053\u3053\u3067Keepalive\u304c\u52b9\u679c\u3092\u767a\u63ee\u3057\u307e\u3059\u3002NGINX\u306b\u3001\u3059\u3067\u306b\u78ba\u7acb\u3055\u308c\u3001\u73fe\u5728\u4f11\u6b62\u72b6\u614b\u306b\u3042\u308b\u30bd\u30b1\u30c3\u30c8\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u305b\u3001\u5f8c\u7d9a\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u306b\u518d\u5229\u7528\u3055\u305b\u308b\u3053\u3068\u3067\u3001\u63a5\u7d9a\u6642\u9593\u3092\u6e2c\u5b9a\u53ef\u80fd\u306a\u30ec\u30d9\u30eb\u3067\u77ed\u7e2e\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u30011\u79d2\u3042\u305f\u308a\u306e\u63a5\u7d9a\u7387\u304c\u4f4e\u4e0b\u3057\u3001\u30d0\u30c3\u30af\u30ed\u30b0\u306e\u30d4\u30fc\u30af\u304c\u8efd\u6e1b\u3055\u308c\u3001\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3067\u306e\u30b3\u30f3\u30c6\u30ad\u30b9\u30c8\u5207\u308a\u66ff\u3048\u304c\u6291\u5236\u3055\u308c\u307e\u3059\u3002 \u7279\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3078\u306eTLS\u63a5\u7d9a\u3067\u306f\u3001\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u518d\u5229\u7528\u306b\u3088\u3063\u3066\u9855\u8457\u306a\u6642\u9593\u77ed\u7e2e\u304c\u5b9f\u73fe\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u9ad8\u3044\u5834\u5408\u3067\u3082\u3001\u30ec\u30b9\u30dd\u30f3\u30b9\u30c1\u30a7\u30fc\u30f3\u306f\u4fe1\u983c\u6027\u3092\u4fdd\u3061\u3001\u30b9\u30e0\u30fc\u30ba\u306a\u5fdc\u7b54\u3092\u7dad\u6301\u3067\u304d\u307e\u3059\u3002 \u57fa\u672c\u539f\u7406\u3068\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u306b\u304a\u3051\u308bkeepalive\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6upstream\u30d6\u30ed\u30c3\u30af\u5185\u306ekeepalive\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6\u306f\u3001\u30ef\u30fc\u30ab\u30fc\u3054\u3068\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u308b\u30a2\u30a4\u30c9\u30eb\u72b6\u614b\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u63a5\u7d9a\u6570\u3092\u5236\u9650\u3057\u307e\u3059\u3002\u3053\u306e\u5236\u9650\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u306b\u9069\u7528\u3055\u308c\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u53b3\u5bc6\u306b\u5404\u30ef\u30fc\u30ab\u30fc\u30d7\u30ed\u30bb\u30b9\u3054\u3068\u306b\u9069\u7528\u3055\u308c\u308b\u305f\u3081\u3001\u79c1\u306f\u5e38\u306b\u30ef\u30fc\u30ab\u30fc\u6570\u3092\u6ce8\u8996\u3057\u3066\u3044\u307e\u3059\u3002 \u30d7\u30fc\u30eb\u304c\u6e80\u676f\u306b\u306a\u308b\u3068\u3001NGINX\u306f\u65b0\u3057\u3044\u30bd\u30b1\u30c3\u30c8\u306e\u305f\u3081\u306e\u30b9\u30da\u30fc\u30b9\u3092\u78ba\u4fdd\u3059\u308b\u305f\u3081\u3001\u6700\u3082\u9577\u304f\u672a\u4f7f\u7528\u306e\u63a5\u7d9a\u304b\u3089\u9806\u306b\u9589\u3058\u307e\u3059\u3002\u518d\u5229\u7528\u3092\u884c\u3046\u306b\u306f\u3001\u30d7\u30ed\u30ad\u30b7\u5074\u3067HTTP\/1.1\u3068\u3001\u4e2d\u7acb\u5316\u3055\u308c\u305fConnection\u30d8\u30c3\u30c0\u30fc\u304c\u5fc5\u8981\u3067\u3059\u3002 \u3053\u308c\u3089\u306e\u524d\u63d0\u6761\u4ef6\u304c\u6e80\u305f\u3055\u308c\u306a\u3044\u5834\u5408\u3001\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3067\u300ckeepalive\u300d\u3092\u8a2d\u5b9a\u3057\u3066\u3044\u3066\u3082\u30d7\u30fc\u30eb\u306f\u7a7a\u306e\u307e\u307e\u3068\u306a\u308a\u3001\u591a\u304f\u306e\u7ba1\u7406\u8005\u306f\u5f53\u521d\u3053\u308c\u306b\u9a5a\u304d\u307e\u3059\u3002upstream backend_pool { server 192.168.1.10:8080; server 192.168.1.11:8080; server 192.168.1.12:8080; keepalive 32; # \u30ef\u30fc\u30ab\u30fc\u3054\u3068\u306e\u30a2\u30a4\u30c9\u30eb\u63a5\u7d9a\u6570 keepalive_requests 1000; # N\u56de\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u5f8c\u306e\u30ea\u30b5\u30a4\u30af\u30eb keepalive_timeout 60s; # \u30a2\u30a4\u30c9\u30eb\u6642\u306e\u6709\u52b9\u671f\u9650 } server { listen 80; location \/ { proxy_pass http:\/\/backend_pool; proxy_http_version 1."},"I3":{"id":"I3","post_id":21371,"url":"https:\/\/webhosting.de\/nginx-cache-purge-richtig-einsetzen-fastcgi-cache-optimierung-cloud\/","title":"NGINX\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u30d1\u30fc\u30b8\u3092\u6b63\u3057\u304f\u6d3b\u7528\u3059\u308b\uff1a\u9ad8\u901f\u304b\u3064\u5b89\u5168\u306a\u30ad\u30e3\u30c3\u30b7\u30e5\u7121\u52b9\u5316\u306e\u305f\u3081\u306e\u5b9f\u8df5\u30ac\u30a4\u30c9","excerpt":"\u8a2a\u554f\u8005\u306b\u53e4\u3044\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8868\u793a\u3055\u305b\u305f\u308a\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u4e0a\u306e\u30ea\u30b9\u30af\u3092\u62db\u3044\u305f\u308a\u3059\u308b\u3053\u3068\u306a\u304f\u3001nginx\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u7684\u78ba\u306b\u30af\u30ea\u30a2\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002\u660e\u78ba\u306a\u30d1\u30fc\u30b8\u6226\u7565\u3001\u9069\u5207\u306a\u30ad\u30e3\u30c3\u30b7\u30e5\u30ad\u30fc\u3001\u305d\u3057\u3066\u5b89\u5168\u306a\u81ea\u52d5\u5316\u3092\u6d3b\u7528\u3057\u3001WordPress\u3068PHP-FPM\u3092\u5e38\u306b\u6700\u65b0\u306e\u72b6\u614b\u306b\u4fdd\u3064\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002 \u91cd\u8981\u306a\u30dd\u30a4\u30f3\u30c8 \u30ad\u30e3\u30c3\u30b7\u30e5\u30ad\u30fc\u3092\u9069\u5207\u306b\u8a2d\u8a08\u3059\u308b\uff1a\u30db\u30b9\u30c8\u3001URI\u3001\u30d8\u30c3\u30c0\u30fc\u3001\u5fc5\u8981\u306a\u30af\u30c3\u30ad\u30fc \u30d1\u30fc\u30b8\u6226\u7565\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\uff1a\u6709\u52b9\u671f\u9650\u3001\u5bfe\u8c61\u3092\u7d5e\u3063\u305f\u30ad\u30fc\u3001\u5236\u5fa1\u3055\u308c\u305f\u30d1\u30fc\u30b8 \u5e38\u306b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u512a\u5148\u3059\u308b\uff1a\u5185\u90e8IP\u3001\u8a8d\u8a3c\u3001\u30ed\u30ae\u30f3\u30b0\u3001\u516c\u958b\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306e\u6392\u9664 \u81ea\u52d5\u5316\u3092\u6d3b\u7528\u3059\u308b\uff1a \u30d1\u30fc\u30b8\u7528\u306eWordPress\u30d5\u30c3\u30af\u3068\u30c7\u30d7\u30ed\u30a4\u30c8\u30ea\u30ac\u30fc \u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3092\u6709\u52b9\u306b\u3059\u308b\uff1aX-FastCGI-Cache\u3001\u30ed\u30b0\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30a4\u30ba NGINX\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u7406\u89e3\u3059\u308b\uff1a\u9069\u5207\u306a\u30d1\u30fc\u30b8\u306e\u305f\u3081\u306e\u57fa\u790e \u30d1\u30fc\u30b8\u3092\u884c\u3046\u524d\u306b\u3001NGINX\u304c\u3069\u306e\u3088\u3046\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4fdd\u5b58\u3059\u308b\u304b\u3092\u7406\u89e3\u3057\u307e\u3059\u3002 NGINX\u306f\u3001\u30d7\u30ed\u30ad\u30b7\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4ecb\u3057\u3066HTTP\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u51e6\u7406\u3057\u3001FastCGI\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u4ecb\u3057\u3066\u52d5\u7684\u306aPHP\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u51e6\u7406\u3057\u307e\u3059\u3002\u3055\u3089\u306b\u3001uWSGI\u3084SCGI\u3068\u3044\u3063\u305f\u7279\u5225\u306a\u8a2d\u5b9a\u5411\u3051\u306e\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u3082\u5b58\u5728\u3057\u307e\u3059\u304c\u3001\u3053\u3053\u3067\u306f\u305d\u308c\u3089\u306b\u3064\u3044\u3066\u306f\u8efd\u304f\u89e6\u308c\u308b\u3060\u3051\u306b\u7559\u3081\u307e\u3059\u3002 \u4e00\u822c\u7684\u306aWordPress\u3084PHP\u30b9\u30bf\u30c3\u30af\u3067\u306f\u3001\u3068\u308a\u308f\u3051FastCGI\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u6700\u5927\u306e\u52b9\u679c\u3092\u767a\u63ee\u3057\u307e\u3059\u3002\u3053\u308c\u306f\u3001PHP-FPM\u304b\u3089\u751f\u6210\u3055\u308c\u305fHTML\u30da\u30fc\u30b8\u3092\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306b\u66f8\u304d\u8fbc\u307f\u3001\u6b21\u56de\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u6642\u306b\u306f\u305d\u3053\u304b\u3089\u76f4\u63a5\u914d\u4fe1\u3059\u308b\u305f\u3081\u3067\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u30b3\u30f3\u30c6\u30f3\u30c4\u304c\u6700\u65b0\u3067\u3042\u308b\u9650\u308a\u3001CPU\u3084\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u8ca0\u8377\u3092\u8efd\u6e1b\u3057\u3001\u5fdc\u7b54\u6642\u9593\u3092\u77ed\u7e2e\u3067\u304d\u307e\u3059\u3002 \u307e\u3055\u306b\u3053\u306e\u6642\u70b9\u3067\u3001\u8ce2\u660e\u306a\u30d1\u30fc\u30b8\u51e6\u7406\u306b\u3088\u3063\u3066\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u6700\u65b0\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u53d7\u3051\u53d6\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u53e4\u3044\u30da\u30fc\u30b8\u3092\u95b2\u89a7\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u304b\u304c\u6c7a\u307e\u308a\u307e\u3059\u3002 \u30ad\u30e3\u30c3\u30b7\u30e5\u30ad\u30fc\uff1a\u7684\u78ba\u306a\u30d1\u30fc\u30b8\u306e\u9375\u5404\u30d2\u30c3\u30c8\u306f\u30ad\u30e3\u30c3\u30b7\u30e5\u30ad\u30fc\u306b\u57fa\u3065\u3044\u3066\u304a\u308a\u3001\u3053\u308c\u306f\u901a\u5e38\u3001\u30db\u30b9\u30c8\u3001\u30ea\u30af\u30a8\u30b9\u30c8URI\u3001\u95a2\u9023\u3059\u308b\u30d8\u30c3\u30c0\u30fc\u3001\u304a\u3088\u3073\u6700\u5c0f\u9650\u306e\u30af\u30c3\u30ad\u30fc\u60c5\u5831\u3067\u69cb\u6210\u3055\u308c\u307e\u3059\u3002 \u79c1\u306f\u3001HTML\u306e\u51fa\u529b\u3092\u5b9f\u969b\u306b\u5909\u66f4\u3059\u308b\u5dee\u7570\u306e\u307f\u3092\u8003\u616e\u3059\u308b\u3088\u3046\u306b\u30ad\u30fc\u3092\u8a2d\u8a08\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u3046\u3057\u306a\u3044\u3068\u3001\u30ad\u30e3\u30c3\u30b7\u30e5\u304c\u4e0d\u5fc5\u8981\u306b\u7d30\u5206\u5316\u3055\u308c\u3066\u3057\u307e\u3046\u304b\u3089\u3067\u3059\u3002Vary\u30d8\u30c3\u30c0\u30fc\u3001\u8a00\u8a9e\u3001\u307e\u305f\u306f\u30c7\u30d0\u30a4\u30b9\u30ab\u30e9\u30b9\u306b\u3064\u3044\u3066\u306f\u614e\u91cd\u306b\u6271\u3044\u3001\u30c6\u30b9\u30c8\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u7528\u3044\u3066\u3001\u305d\u306e\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u304c\u672c\u5f53\u306b\u5fc5\u8981\u304b\u3069\u3046\u304b\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002 \u4e00\u8cab\u6027\u306e\u3042\u308b\u30ad\u30fc\u304c\u3042\u308c\u3070\u3001\u5f8c\u3067\u5909\u66f4\u306e\u5f71\u97ff\u3092\u53d7\u3051\u308b\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3060\u3051\u3092\u6b63\u78ba\u306b\u524a\u9664\u3067\u304d\u3001\u5927\u898f\u6a21\u306a\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u524a\u9664\u3059\u308b\u5fc5\u8981\u304c\u306a\u304f\u306a\u308a\u307e\u3059\u3002 \u6574\u7406\u3055\u308c\u305f\u30ad\u30fc\u306fI\/O\u3092\u7bc0\u7d04\u3057\u3001\u30d2\u30c3\u30c8\u7387\u3092\u9ad8\u304f\u7dad\u6301\u3057\u3001\u30d1\u30fc\u30b8\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u5927\u5e45\u306b\u5bb9\u6613\u306b\u3057\u307e\u3059\u3002 \u5b9f\u8df5\u306b\u304a\u3051\u308b\u30ad\u30e3\u30c3\u30b7\u30e5\u30ad\u30fc\u306e\u8a2d\u8a08\uff1a\u6b63\u898f\u5316\u3068\u524a\u6e1b \u5b9f\u969b\u306b\u306f\u3001\u79c1\u306f"}},"_wh_make_stage":"entwurf","_wh_make_research_date":"2026-09-22","_wh_make_sitemap_info":{"index":"https:\/\/webhosting.de\/sitemap_index.xml","sitemaps":["https:\/\/webhosting.de\/post-sitemap1.xml","https:\/\/webhosting.de\/post-sitemap2.xml","https:\/\/webhosting.de\/post-sitemap3.xml","https:\/\/webhosting.de\/post-sitemap4.xml"],"url_count":3093,"fetched_at":"2026-09-22T12:46:54+00:00","selected_ids":[20898,21613,21371]},"_wh_make_draft_hash":"5b351e82d8899903abedab15952a73228481053c80797bd235b6a3f2315ceb53","_wh_make_work":{"version":"2.1","identity":{"sheet_ref":"1VMjxV8Q73i0Q1HO6s-u4jNHVRF0snliGCeg97intLPs","sheet_name":"Tabellenblatt1","external_id":"1387","topic":"NGINX Resolver Cache richtig konfigurieren","keywords":["nginx resolver","dns cache nginx","reverse proxy"],"category_input":"834"},"config":{"research_model":"gpt-5.6-terra","writer_model":"gpt-5.6-terra","review_model":"gpt-5.6-sol","image_model":"gpt-image-2.5-flare","image_quality":"medium","image_format":"webp","final_status":"draft","charts_enabled":true},"phase":"done","pending":null,"receipts":{"7e2b1c513e60dc0ba4a63225a6044a84":"de77a5847626e5c876c14c4f815bef4badfdcd266cea5e88e0accad643c0bb5d","baaff9ded58232ae66eefb69d24f634e":"1de8b750fffb4e7bc3f6e08fb4b784a4a37fc714fb953a039e4c301a3a799453","169d5bbdbed22beabba6ffd2f26f331f":"f1b3117662de6dfd95b9b1599d26b61ee6fe48feb64749a81c2f66adef2d2f8d","cffcc92b8528af841e1fe3ddc05b65de":"0d7578a35e52e215d83d12725209c5d9e67e20cfa56386cf33fc0cad9552e012","4212988fd5f83721f7803df991538ab6":"07548f1498cd2ff743ebd6de5ea94f0efe6bce4eeb3fe37290271cb6f4a00cb4","c1e970624062326f7482251bcbb892c2":"94a73b305e5f9d30fe2dcc46ea0c1e18b8a13055c5c047265b9f2df7a36f67cf","568d0ea3d1deac494745ac14c07e6912":"0e7ef4c09976d53d4b9c908e42d9d2b8a90442f48fb935a7c77de499047bcb62","c7ecb2035315905ecac2f6b1fa84e5b0":"041b86b66ff6c263dec39b1ff1c062e6afb4c0150d964bdcfc94a005dee868b4","7b3776cd29d1e9a3b809afafa4813481":"b153b9bc646a106169b81d2a4addfc33670e8ea0072351131d5e9b6c7c2d9b97","5b5e1b21bffe4a0bfdb7dfd48920901e":"7f9a3c595c20b29f3eb962068f54be9dce587c6e52117aefc538465740a6d460","7594b20fccaef84f9a91fe8c3840a2e2":"369f0a2aac21f66f4bee5e8a351ee1f9382324980b8f763582d334e8fdca47e5","79237b042532b66151636fda1da9df14":"72c7d4c25bd38451c5dc13d52496f2d2f59599185f91356943dedc96a77aa68b","4d0c489e203812f39a130fa88633e22f":"364f1c1b9fd0a29791ba483710d68ad5ff25b0de292d1a2d6e7259a19820a2c4"},"parts":{"1":[{"id":"resolver-grundlagen","heading":"NGINX Resolver und DNS-Cache verstehen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein Reverse Proxy ben\u00f6tigt f\u00fcr ein Backend mit Hostnamen zun\u00e4chst eine IP-Adresse. Der ","ref":""},{"kind":"strong","text":"NGINX-Resolver","ref":""},{"kind":"text","text":" fragt daf\u00fcr die in der Konfiguration festgelegten Nameserver ab. Die erhaltene DNS-Antwort wird zwischengespeichert, damit NGINX den Namen w\u00e4hrend seiner G\u00fcltigkeitsdauer nicht f\u00fcr jede Anfrage erneut aufl\u00f6sen muss. Dieser Cache betrifft ausschlie\u00dflich die Namensaufl\u00f6sung zum Zielsystem.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Direktive ","ref":""},{"kind":"code","text":"resolver","ref":""},{"kind":"text","text":" enth\u00e4lt eine oder mehrere IPv4- oder IPv6-Adressen von DNS-Servern. Ohne abweichende Portangabe verwendet NGINX Port 53; bei mehreren eingetragenen Servern erfolgen die Anfragen laut Dokumentation im Round-Robin-Verfahren. Damit bestimmt die Konfiguration ausdr\u00fccklich, welche Resolver NGINX f\u00fcr diese Aufl\u00f6sung befragt.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Standardm\u00e4\u00dfig ber\u00fccksichtigt NGINX IPv4- und IPv6-Adressen eines Namens. Das ist passend, wenn das Netzwerk beide Protokollfamilien bis zum Backend zuverl\u00e4ssig transportiert. Parameter wie ","ref":""},{"kind":"code","text":"ipv4=off","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"ipv6=off","ref":""},{"kind":"text","text":" schlie\u00dfen eine Familie gezielt aus, sind aber keine allgemeine Cache-Optimierung. Ob sie erforderlich sind, entscheidet die Erreichbarkeit des konkreten Backends und nicht die blo\u00dfe Existenz eines AAAA-Records.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Resolver ist weder ein vollwertiger rekursiver DNS-Server noch eine automatische \u00dcbernahme aller Einstellungen aus ","ref":""},{"kind":"code","text":"\/etc\/resolv.conf","ref":""},{"kind":"text","text":". NGINX nutzt die explizit angegebenen Nameserver. F\u00fcr interne Zonen und produktive Backend-Namen sollten das vertrauensw\u00fcrdige, angemessen abgesicherte Resolver im eigenen Netzwerk sein. So bleiben Zust\u00e4ndigkeit f\u00fcr private Namen und Schutz vor manipulierten DNS-Antworten in einer kontrollierbaren Infrastruktur.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"cache-arten-abgrenzen","heading":"DNS-Cache ist kein HTTP-Cache","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der DNS-Response-Cache des Resolvers speichert Zuordnungen zwischen Namen und DNS-Antworten, etwa A- oder AAAA-Adressen. Sein Zweck ist, ein Backend erneut erreichen zu k\u00f6nnen, ohne jede Namensaufl\u00f6sung wiederholen zu m\u00fcssen. \u00c4ndert sich eine Backend-IP, ist deshalb die G\u00fcltigkeit der DNS-Antwort relevant \u2013 nicht der Inhalt einer zuvor ausgelieferten HTTP-Antwort.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Davon getrennt speichert ","ref":""},{"kind":"code","text":"proxy_cache","ref":""},{"kind":"text","text":" HTTP-Responses eines Upstreams. Der Schl\u00fcssel umfasst je nach Konfiguration beispielsweise URI, Host oder Header; ein Treffer liefert eine bereits gespeicherte Antwort an den Client. Probleme zeigen sich hier als veraltete Seiten, falsche Varianten oder unerwartete Cache-Hits. Diese Funktion entscheidet nicht, welche IP NGINX beim Aufbau einer neuen Backend-Verbindung verwendet.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Open-File-Cache ist eine dritte Ebene: Er h\u00e4lt Dateiinformationen und offene Deskriptoren f\u00fcr lokale Dateisystemzugriffe vor, aber weder DNS-Antworten noch HTTP-Inhalte. Wer diese Abgrenzung f\u00fcr statische Auslieferung vertiefen m\u00f6chte, findet sie im Beitrag zur ","ref":""},{"kind":"internal_link","text":"Konfiguration des NGINX Open File Cache","ref":"I1"},{"kind":"text","text":". F\u00fcr die Wahl einer Resolver-TTL liefert er jedoch keine Entscheidungsgrundlage.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Leeren, Purgen oder Abstimmen eines HTTP-Caches beschleunigt daher keine DNS-\u00c4nderung. Umgekehrt behebt eine neue DNS-Aufl\u00f6sung keine fehlerhaft gecachte HTTP-Antwort. Beim Reverse Proxy begrenzt der ","ref":""},{"kind":"strong","text":"DNS-Cache","ref":""},{"kind":"text","text":" sich zudem auf Namen und Adressen: Er pr\u00fcft weder die Gesundheit einer Anwendung noch ersetzt er Load-Balancing, Retries oder die korrekte Timeout-Planung zum Upstream.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S3"}]}]},{"id":"laufzeitauflosung-und-versionen","heading":"Wann NGINX Namen erneut aufl\u00f6sen muss","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein Hostname kann NGINX bereits beim Einlesen der Konfiguration bekannt sein. Anders ist der Fall bei einem variablen Ziel, etwa ","ref":""},{"kind":"code","text":"proxy_pass http:\/\/$backend;","ref":""},{"kind":"text","text":". NGINX sucht den resultierenden Namen zun\u00e4chst in definierten Upstream-Gruppen. Findet es dort keinen passenden Namen, braucht es zur Laufzeit einen konfigurierten Resolver, um die Zieladresse zu ermitteln.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" weist in diesem Zusammenhang nicht auf einen fehlenden HTTP-Cache hin. Sie bedeutet, dass NGINX f\u00fcr die notwendige Laufzeitaufl\u00f6sung keinen DNS-Server kennt. ","ref":""},{"kind":"code","text":"resolver","ref":""},{"kind":"text","text":" darf im Kontext ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"location","ref":""},{"kind":"text","text":" stehen. Ein zentraler Eintrag im ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Block eignet sich, wenn mehrere virtuelle Hosts denselben Resolver nutzen; ein engerer Scope passt nur bei tats\u00e4chlich abweichenden Anforderungen.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Von dieser lang verf\u00fcgbaren Laufzeitaufl\u00f6sung ist die dynamische Aktualisierung einer klassischen Upstream-Gruppe zu trennen. Laut Dokumentation stehen die Resolver-Konfiguration direkt im ","ref":""},{"kind":"code","text":"upstream","ref":""},{"kind":"text","text":"-Block sowie ","ref":""},{"kind":"code","text":"server hostname resolve","ref":""},{"kind":"text","text":" in NGINX Open Source ab Version 1.27.3 zur Verf\u00fcgung. \u00c4ltere Open-Source-Installationen d\u00fcrfen nicht so behandelt werden, als unterst\u00fctzten sie dieses Muster automatisch; historisch waren entsprechende Funktionen teilweise NGINX Plus vorbehalten.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Vor der Planung dynamischer Upstreams pr\u00fcfst du die installierte Ausgabe und Build-Informationen. Der folgende Befehl zeigt die NGINX-Version sowie Kompilierungsoptionen.","ref":""}]},{"type":"code","language":"text","code":"nginx -V","source_ids":["S2"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die sichtbare Versionsnummer ist dennoch nicht immer der vollst\u00e4ndige Nachweis f\u00fcr den Funktionsumfang: Distributionen k\u00f6nnen Sicherheits- oder Funktionspatches zur\u00fcckportieren. Vergleiche bei kritischen Deployments deshalb Paketdokumentation, Build und die f\u00fcr deine Installation geltende Herstellerinformation. Erst danach ist ein ","ref":""},{"kind":"strong","text":"dynamischer Upstream","ref":""},{"kind":"text","text":" eine belastbare Architekturentscheidung.","ref":""},{"kind":"citation","text":"","ref":"S2"}]}]}],"2":[{"id":"ttl-und-valid-planen","heading":"TTL und valid bewusst festlegen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Resolver-Cache von NGINX richtet sich ohne eine zus\u00e4tzliche Vorgabe nach der ","ref":""},{"kind":"strong","text":"DNS-TTL","ref":""},{"kind":"text","text":" in der Antwort des abgefragten Nameservers. \u00c4ndert der autoritative DNS-Betreiber die IP-Adresse eines Backends, nutzt NGINX die bisherige Antwort bis zu deren TTL-Ablauf und fragt anschlie\u00dfend erneut ab. Damit bleibt die G\u00fcltigkeitsdauer dort steuerbar, wo die Namensdaten gepflegt werden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Parameter ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" ersetzt diese TTL vollst\u00e4ndig durch den konfigurierten Zeitraum. Er begrenzt die DNS-TTL also nicht nur nach oben und definiert auch kein regelm\u00e4\u00dfiges Auffrischen zus\u00e4tzlich zur TTL. Ein Wert von ","ref":""},{"kind":"code","text":"valid=30s","ref":""},{"kind":"text","text":" kann eine l\u00e4ngere DNS-TTL verk\u00fcrzen, aber ebenso eine bewusst kurze TTL verl\u00e4ngern. Das muss zur Umzugs- und Deployment-Planung des Backends passen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Wenn die Zone verl\u00e4sslich gepflegt wird, ist eine Konfiguration ohne Override die nachvollziehbare Ausgangsbasis. Die Adresse im Beispiel ist gem\u00e4\u00df den Dokumentationsnetzen gew\u00e4hlt und darf nicht als produktiver Resolver \u00fcbernommen werden. Trage stattdessen die Adresse eines erreichbaren und vertrauensw\u00fcrdigen DNS-Resolvers aus dem eigenen Netzwerk ein.","ref":""}]},{"type":"code","language":"nginx","code":"resolver 192.0.2.53;\nresolver_timeout 5s;","source_ids":["S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Override kann sinnvoll sein, wenn die DNS-TTL nicht beeinflussbar ist und eine dokumentierte betriebliche Vorgabe existiert. Dann macht die Abweichung ausdr\u00fccklich sichtbar, wie lange NGINX Antworten h\u00e4lt. Sie ist keine allgemeine Leistungsoptimierung: K\u00fcrzere Zeiten k\u00f6nnen mehr DNS-Abfragen ausl\u00f6sen, l\u00e4ngere Zeiten k\u00f6nnen den Wechsel auf neue Backend-Adressen verz\u00f6gern.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"code","language":"nginx","code":"resolver 192.0.2.53 valid=30s;\nresolver_timeout 5s;","source_ids":["S1"]},{"type":"table","caption":"Ausgangsentscheidungen f\u00fcr DNS-TTL und valid","headers":["Betriebssituation","Ausgangsentscheidung","Begr\u00fcndung","Risiko"],"rows":[["DNS-Zone mit gepflegten TTLs","valid weglassen","NGINX folgt der vom DNS vorgegebenen Cache-Dauer.","Die TTL muss zum \u00c4nderungsfenster passen."],["TTL nicht steuerbar, Wechsel selten","valid bewusst dokumentieren","Die Haltedauer wird f\u00fcr den Proxy planbar.","Alte Zieladressen k\u00f6nnen l\u00e4nger genutzt werden als vom DNS vorgesehen."],["H\u00e4ufige Service- oder Container-Wechsel","Kurze TTL im autoritativen DNS bevorzugen","Das DNS bleibt die ma\u00dfgebliche Quelle f\u00fcr Aktualit\u00e4t.","Mehr Abfragen k\u00f6nnen die Resolver-Infrastruktur belasten."],["DNS-basierte Service-Erkennung","Dynamischen Upstream mit resolve pr\u00fcfen","Die Upstream-Mitglieder k\u00f6nnen DNS-\u00c4nderungen folgen.","Version und Architektur m\u00fcssen die Funktion unterst\u00fctzen."]],"source_ids":["S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Entscheidung beginnt daher nicht mit einer festen Sekundenangabe, sondern mit der Frage, wer DNS-Daten kontrolliert und wie schnell ein Backend-Wechsel wirksam werden muss. ","ref":""},{"kind":"strong","text":"valid","ref":""},{"kind":"text","text":" ist ein bewusster Eingriff in diese Regelung. Er eignet sich nicht als pauschaler Schalter, um den Reverse Proxy schneller zu machen oder DNS-Probleme zu verdecken.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"variabler-proxy-pass","heading":"Variablen in proxy_pass korrekt aufl\u00f6sen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Enth\u00e4lt ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" eine Variable, muss NGINX den resultierenden Hostnamen zur Laufzeit behandeln. Zun\u00e4chst sucht NGINX nach einer passenden Upstream-Gruppe; findet es keine, ben\u00f6tigt es f\u00fcr den Namen einen konfigurierten Resolver. Fehlt dieser, ist die typische Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" kein Hinweis auf einen HTTP-Cache, sondern auf die fehlende DNS-Konfiguration f\u00fcr diesen Ausf\u00fchrungspfad.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das folgende Muster macht die Laufzeitaufl\u00f6sung bewusst sichtbar. Der Resolver steht im ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Kontext und gilt dadurch f\u00fcr mehrere virtuelle Hosts, sofern keine spezifischere Einstellung ihn \u00fcberschreibt. Die verwendete Dokumentationsadresse muss durch den internen Resolver der jeweiligen Umgebung ersetzt werden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"code","language":"nginx","code":"http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    server {\n        listen 80;\n\n        location \/ {\n            set $backend api.internal.example;\n            proxy_pass http:\/\/$backend;\n        }\n    }\n}","source_ids":["S1","S3"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Direktive ","ref":""},{"kind":"code","text":"resolver_timeout","ref":""},{"kind":"text","text":" steuert nicht die Cache-Dauer. Sie begrenzt, wie lange NGINX auf eine Namensaufl\u00f6sung wartet; der dokumentierte Standard betr\u00e4gt 30 Sekunden. Die Wahl geh\u00f6rt zu den \u00fcbrigen Fehlerbudgets: Ein zu hoher Wert kann eine fehlgeschlagene Anfrage bis zur Fehlerantwort verz\u00f6gern, ein zu niedriger Wert erzeugt bei zeitweise langsamen internen Resolvern vermeidbare Aufl\u00f6sungsfehler.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr einen einzelnen, klar abgegrenzten Standort kann der Resolver im ","ref":""},{"kind":"code","text":"location","ref":""},{"kind":"text","text":"-Block stehen. Ben\u00f6tigen mehrere Locations oder Server dieselbe Aufl\u00f6sung, ist ein gemeinsamer Scope im ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":"- oder ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Block wartungs\u00e4rmer. NGINX erlaubt die Direktive in allen drei Kontexten; der Geltungsbereich sollte die tats\u00e4chliche Betriebsstruktur abbilden, nicht nur eine einzelne Fehlermeldung kurzfristig beseitigen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch bei variablen Zielen bleiben DNS-Timeout und Verbindung zum Backend getrennte Fehlerklassen. Eine erfolgreiche Namensaufl\u00f6sung beweist weder, dass der Zielport erreichbar ist, noch dass die Anwendung antwortet. Umgekehrt behebt ein h\u00f6herer Upstream-Timeout keine nicht erreichbare Resolver-Adresse.","ref":""},{"kind":"citation","text":"","ref":"S3"}]}]},{"id":"dynamische-upstreams","heading":"Dynamische Upstreams mit resolve konfigurieren","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eine benannte Backend-Gruppe kann ein dynamischer Upstream lesbarer sein als ein variabler Zielwert in jeder Location. Das Muster trennt die Definition der Backend-Mitglieder vom Routing: ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" verweist auf die Gruppe, w\u00e4hrend der Hostname im Upstream \u00fcber DNS aktualisiert werden kann. Das ist besonders passend, wenn mehrere Routen dieselbe Anwendung ansprechen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr NGINX Open Source dokumentiert NGINX die Direktive ","ref":""},{"kind":"code","text":"resolver","ref":""},{"kind":"text","text":" im ","ref":""},{"kind":"code","text":"upstream","ref":""},{"kind":"text","text":"-Block und den Parameter ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" bei ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":" ab Version 1.27.3. \u00c4ltere Open-Source-Installationen d\u00fcrfen daher nicht nach demselben Schema behandelt werden; historisch waren vergleichbare Funktionen teilweise NGINX Plus vorbehalten.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die ","ref":""},{"kind":"strong","text":"Shared-Memory-Zone","ref":""},{"kind":"text","text":" ist dabei kein Cache-Timeout. Sie stellt den gemeinsamen Speicher bereit, den dynamisch ver\u00e4nderte Upstream-Konfigurationen ben\u00f6tigen. Erkennt NGINX bei der DNS-Aufl\u00f6sung andere Adressen f\u00fcr den Namen, kann die Upstream-Gruppe anhand dieser gemeinsam verwalteten Daten ohne Neustart angepasst werden.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"code","language":"nginx","code":"http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    upstream application_pool {\n        zone application_pool 64k;\n        server app.internal.example resolve;\n    }\n\n    server {\n        listen 80;\n\n        location \/ {\n            proxy_pass http:\/\/application_pool;\n        }\n    }\n}","source_ids":["S1","S2"]},{"type":"paragraph","runs":[{"kind":"text","text":"Wie bei allen Beispielen steht ","ref":""},{"kind":"code","text":"192.0.2.53","ref":""},{"kind":"text","text":" nur f\u00fcr eine Dokumentationsadresse. In der Praxis muss der eingetragene Resolver interne Namen zuverl\u00e4ssig kennen, aus dem NGINX-Netz erreichbar sein und als vertrauensw\u00fcrdig gelten. Vor der \u00dcbernahme ist au\u00dferdem der tats\u00e4chliche Funktionsumfang des installierten Pakets zu pr\u00fcfen, statt die Konfiguration allein aus einem aktuellen Beispiel abzuleiten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Dienst, der ausschlie\u00dflich \u00fcber IPv4 erreichbar ist, kann eine gezielte Einschr\u00e4nkung rechtfertigen: ","ref":""},{"kind":"code","text":"resolver 192.0.2.53 ipv6=off;","ref":""},{"kind":"text","text":" verhindert AAAA-Abfragen und die Auswahl einer IPv6-Adresse f\u00fcr diesen Resolver-Kontext. Das ist jedoch eine Netzarchitekturentscheidung. Bei funktionierendem Dual Stack sollte IPv6 nicht allein aus Gewohnheit deaktiviert werden; standardm\u00e4\u00dfig l\u00f6st NGINX beide IP-Familien auf.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]}],"3":[{"id":"sicher-ausrollen","heading":"Konfiguration sicher pr\u00fcfen und ausrollen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Vor einer \u00c4nderung pr\u00fcfst du zun\u00e4chst, an welcher Stelle die Resolver-Direktiven tats\u00e4chlich gelten. Suche dazu die aktive Konfiguration einschlie\u00dflich eingebundener Dateien und kl\u00e4re, ob der Resolver f\u00fcr das gesamte ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Kontext, nur f\u00fcr einen virtuellen Host oder lediglich f\u00fcr einen einzelnen Pfad vorgesehen ist. Ein zu enger Scope kann dazu f\u00fchren, dass ein anderer variabler Proxy-Pfad keinen Resolver findet; ein zu weiter Scope erschwert dagegen die sp\u00e4tere Zuordnung von \u00c4nderungen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Nach jeder Anpassung folgt der ","ref":""},{"kind":"strong","text":"Syntaxcheck","ref":""},{"kind":"text","text":". Er liest die Konfiguration ein und versucht auch, referenzierte Dateien zu \u00f6ffnen. Damit lassen sich Schreibfehler, ung\u00fcltige Direktiven und Probleme in Include-Dateien vor einem Reload erkennen. Der Check beweist jedoch nicht, dass der eingetragene DNS-Server erreichbar ist, den erwarteten Namen kennt oder das Backend hinter einer aufgel\u00f6sten Adresse Verbindungen annimmt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"code","language":"text","code":"nginx -t\nnginx -s reload","source_ids":["S4"]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fchre den Reload erst nach erfolgreicher Pr\u00fcfung aus. ","ref":""},{"kind":"code","text":"nginx -s reload","ref":""},{"kind":"text","text":" veranlasst NGINX, neue Worker mit der neuen Konfiguration zu starten und alte Worker kontrolliert zu beenden. Abh\u00e4ngig vom installierten Paket und Betriebssystem kann stattdessen der dort vorgesehene Service-Manager den Reload ausl\u00f6sen. Verwende daf\u00fcr den dokumentierten Betriebsweg der Installation, statt Befehle aus einer fremden Umgebung zu \u00fcbernehmen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Plane anschlie\u00dfend eine fachliche Pr\u00fcfung im vorgesehenen \u00c4nderungsfenster. Vergleiche die erwartete DNS-TTL mit dem Zeitpunkt, ab dem eine neue Backend-Adresse genutzt werden soll, und pr\u00fcfe die Erreichbarkeit des Dienstes \u00fcber die tats\u00e4chlich erlaubte IP-Familie. Dokumentiere au\u00dferdem Resolver-Adresse, gew\u00e4hlten Scope und ein m\u00f6gliches ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":"-Override. So l\u00e4sst sich bei einer St\u00f6rung unterscheiden, ob DNS, Routing oder die Anwendung die Ursache ist.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"resolver-fehler-eingrenzen","heading":"Typische Resolver-Fehler systematisch eingrenzen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Beginne die Fehlersuche beim Zielausdruck in ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":". Enth\u00e4lt er eine Variable, muss NGINX den darin enthaltenen Hostnamen zur Laufzeit aufl\u00f6sen, sofern dieser nicht zu einer definierten Upstream-Gruppe geh\u00f6rt. Die Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" weist daher zun\u00e4chst auf eine fehlende oder im wirksamen Kontext nicht sichtbare ","ref":""},{"kind":"strong","text":"Resolver-Konfiguration","ref":""},{"kind":"text","text":" hin. Erg\u00e4nze einen vertrauensw\u00fcrdigen Nameserver im passenden Kontext, statt den Hostnamen vorschnell durch eine feste IP zu ersetzen.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ist ein Resolver konfiguriert, pr\u00fcfst du als N\u00e4chstes dessen Adresse, Netzweg und Zust\u00e4ndigkeit f\u00fcr die verwendete Zone. Ein \u00f6ffentlicher Resolver kann interne Namen nicht kennen; ein nicht erreichbarer Resolver erzeugt dagegen Aufl\u00f6sungs-Timeouts. Kontrolliere au\u00dferdem, ob die Direktive durch eine spezifischere Einstellung \u00fcberschrieben wird. NGINX verwendet nur die ausdr\u00fccklich angegebenen Nameserver, nicht automatisch s\u00e4mtliche Einstellungen aus ","ref":""},{"kind":"code","text":"\/etc\/resolv.conf","ref":""},{"kind":"text","text":".","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bleibt nach einem DNS-Wechsel eine alte Zieladresse aktiv, kontrolliere die Antwort-TTL und ein gesetztes ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":". Ein langer Override ersetzt die TTL der DNS-Antwort und kann die \u00dcbernahme einer \u00c4nderung entsprechend verz\u00f6gern. Die zul\u00e4ssige Korrektur ist keine pauschal m\u00f6glichst kurze Dauer, sondern ein Wert, der zum \u00c4nderungsfenster und zur Belastbarkeit der DNS-Infrastruktur passt; oft ist das Weglassen von ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" die sauberere L\u00f6sung.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei Verbindungsproblemen nach erfolgreicher Aufl\u00f6sung trennst du DNS von der Backend-Verbindung. Pr\u00fcfe, ob A- und AAAA-Antworten vorliegen und ob das Ziel \u00fcber IPv6 tats\u00e4chlich geroutet und erreichbar ist. ","ref":""},{"kind":"code","text":"ipv6=off","ref":""},{"kind":"text","text":" ist nur f\u00fcr einen nachweislich IPv4-only betriebenen Architekturfall geeignet. Ein DNS-Timeout betrifft die Namensaufl\u00f6sung; ein Verbindungsfehler zur bereits bekannten IP verweist dagegen auf Routing, Firewall, Port oder Anwendung.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr dynamische Upstreams m\u00fcssen au\u00dferdem Versionsstand, Shared-Memory-Zone und ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" zusammenpassen. Die hierf\u00fcr dokumentierte Open-Source-Unterst\u00fctzung gilt ab NGINX 1.27.3; \u00e4ltere Installationen d\u00fcrfen nicht als gleichwertig behandelt werden. ","ref":""},{"kind":"code","text":"status_zone","ref":""},{"kind":"text","text":" und API-basierte Resolver-Statistiken sind zudem keine allgemeine Monitoring-L\u00f6sung f\u00fcr NGINX Open Source, da die genannten Funktionen kommerziellen Umfang betreffen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]}]},{"id":"betriebsentscheidung","heading":"Resolver-Strategie f\u00fcr den Betrieb w\u00e4hlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die passende Strategie beginnt nicht mit einem pauschalen Cache-Wert, sondern mit DNS-Hoheit und \u00c4nderungsrate. Kann dein Team die autoritative Zone pflegen und bilden deren TTLs das Deployment-Fenster realistisch ab, ist eine ","ref":""},{"kind":"strong","text":"TTL-gesteuerte Aufl\u00f6sung","ref":""},{"kind":"text","text":" ohne ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" meist der nachvollziehbarste Ausgangspunkt. DNS bleibt dann die ma\u00dfgebliche Quelle daf\u00fcr, wie lange eine Antwort verwendet wird.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein bewusst gesetztes ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" kommt infrage, wenn du die TTL nicht beeinflussen kannst und eine abweichende Cache-Dauer betrieblich begr\u00fcnden kannst. Halte dabei fest, welche Ausfallfolge akzeptabel ist: Ein l\u00e4ngerer Wert senkt m\u00f6gliche DNS-Abfragen, kann aber nach einem Umzug auf eine nicht mehr passende Adresse zeigen. Er ist weder eine Obergrenze f\u00fcr die DNS-TTL noch ein allgemeiner Performance-Schalter.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"W\u00e4hle das NGINX-Muster danach anhand der Routing-Struktur. Ein variabler ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" eignet sich, wenn das Ziel pro Anfrage oder Konfiguration zur Laufzeit bestimmt wird; daf\u00fcr ist ein Resolver im passenden Scope erforderlich. F\u00fcr eine benannte Backend-Gruppe mit DNS-basierten Adress\u00e4nderungen ist ein Upstream mit ","ref":""},{"kind":"code","text":"zone","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" klarer, sofern NGINX Open Source 1.27.3 oder neuer tats\u00e4chlich verf\u00fcgbar ist.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erst anschlie\u00dfend bestimmst du ","ref":""},{"kind":"strong","text":"Timeouts und IP-Familien","ref":""},{"kind":"text","text":". Der Resolver-Timeout muss zu Client- und Upstream-Timeouts passen, damit eine ausbleibende DNS-Antwort Fehler nicht unverh\u00e4ltnism\u00e4\u00dfig verz\u00f6gert. IPv4 oder IPv6 schaltest du nur entsprechend der Netzarchitektur frei. Verwende ausschlie\u00dflich abgesicherte Resolver, die interne Zonen zuverl\u00e4ssig beantworten k\u00f6nnen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"DNS-Aufl\u00f6sung und Upstream-Keepalive l\u00f6sen unterschiedliche Aufgaben. Der Resolver entscheidet, welche Backend-Adresse NGINX verwenden kann; Keepalive h\u00e4lt bereits aufgebaute, inaktive Backend-Verbindungen zur Wiederverwendung vor. Eine \u00c4nderung an der Verbindungswiederverwendung ersetzt daher weder TTL-Planung noch Resolver-Pr\u00fcfung. F\u00fcr die Dimensionierung dieser Verbindungsebene erg\u00e4nzt der Beitrag zu ","ref":""},{"kind":"internal_link","text":"NGINX Upstream Keepalive","ref":"I2"},{"kind":"text","text":" die Resolver-Strategie.","ref":""}]}]}]},"plan":{"reader_question":"Wie konfiguriere ich den NGINX-eigenen DNS-Resolver so, dass ein Reverse Proxy Backend-Namen zuverl\u00e4ssig aufl\u00f6st, DNS-\u00c4nderungen angemessen \u00fcbernimmt und weder unn\u00f6tig veraltete IP-Adressen noch vermeidbare DNS-Anfragen entstehen?","sections":[{"id":"resolver-grundlagen","heading":"NGINX Resolver und DNS-Cache verstehen","part":1,"target_words":270,"purpose":"Definiert die Aufgaben des nginx resolver: Er fragt festgelegte Nameserver ab und cached DNS-Antworten f\u00fcr Namensaufl\u00f6sungen. Zuerst den Ablauf vom Hostnamen zur Backend-IP erkl\u00e4ren, danach Resolver-Adresse, mehrere Nameserver und IPv4\/IPv6 einordnen. Klar abgrenzen, dass dies kein rekursiver DNS-Server und kein automatisches \u00dcbernehmen von \/etc\/resolv.conf ist. Vertrauensw\u00fcrdige interne Resolver als Sicherheitsvoraussetzung nennen.","source_ids":["S1"],"internal_link_ids":[]},{"id":"cache-arten-abgrenzen","heading":"DNS-Cache ist kein HTTP-Cache","part":1,"target_words":260,"purpose":"Die h\u00e4ufige Verwechslung von DNS-Response-Cache, proxy_cache und Open-File-Cache anhand von Speicherobjekt, Zweck, G\u00fcltigkeit und Fehlerbild aufl\u00f6sen. Ein kurzer Gegen\u00fcberstellungsabsatz soll zeigen, weshalb das Leeren oder Abstimmen eines HTTP-Caches keine DNS-\u00c4nderung beschleunigt. Abschlie\u00dfend Grenzen des Resolver-Caches f\u00fcr Reverse Proxies benennen; der erg\u00e4nzende interne Beitrag vertieft ausschlie\u00dflich den Open-File-Cache.","source_ids":["S1","S3"],"internal_link_ids":["I1"]},{"id":"laufzeitauflosung-und-versionen","heading":"Wann NGINX Namen erneut aufl\u00f6sen muss","part":1,"target_words":270,"purpose":"Erkl\u00e4rt den Unterschied zwischen beim Einlesen der Konfiguration bekannten Namen und einer Laufzeitaufl\u00f6sung, etwa bei Variablen in proxy_pass. Den Fehler \u201eno resolver defined\u201c fachlich einordnen und die Kontexte http, server und location erl\u00e4utern. Danach die Versionsgrenze f\u00fcr dynamische upstream-Gruppen sauber trennen: resolver im upstream-Block sowie server ... resolve sind laut Dokumentation ab NGINX Open Source 1.27.3 verf\u00fcgbar. nginx -V als Vorpr\u00fcfung einf\u00fchren und Paket-Backports als Pr\u00fcfgrenze erw\u00e4hnen.","source_ids":["S1","S2","S3"],"internal_link_ids":[]},{"id":"ttl-und-valid-planen","heading":"TTL und valid bewusst festlegen","part":2,"target_words":300,"purpose":"Die Cache-Regel schrittweise erkl\u00e4ren: Ohne valid gilt die DNS-TTL, mit valid ersetzt NGINX diese Dauer vollst\u00e4ndig. Ein Konfigurationsbeispiel ohne valid und eines mit bewusstem valid=30s gegen\u00fcberstellen; die Dokumentationsadresse ausdr\u00fccklich als nicht produktiv nutzbar markieren. Eine informative Tabelle ordnet Betriebssituationen, Ausgangsentscheidung, Begr\u00fcndung und Risiko zu, etwa gepflegte TTLs, seltene Wechsel und Service-Erkennung. Herausarbeiten, dass valid weder Obergrenze noch allgemeiner Performance-Schalter ist.","source_ids":["S1"],"internal_link_ids":[]},{"id":"variabler-proxy-pass","heading":"Variablen in proxy_pass korrekt aufl\u00f6sen","part":2,"target_words":270,"purpose":"An einem kompakten Reverse-Proxy-Beispiel mit set $backend und proxy_pass http:\/\/$backend zeigen, wann NGINX zur Laufzeit den Resolver ben\u00f6tigt. Die Direktiven resolver und resolver_timeout in sinnvoller Reihenfolge erl\u00e4utern und den Scope f\u00fcr mehrere virtuelle Hosts gegen\u00fcber einem einzelnen location-Block abw\u00e4gen. resolver_timeout deutlich von der Cache-Dauer unterscheiden und seine Wahl zu Client- und Upstream-Timeouts in Beziehung setzen. Keine pauschale Sekundenempfehlung geben, sondern Auswirkungen zu hoher und zu niedriger Werte erkl\u00e4ren.","source_ids":["S1","S3"],"internal_link_ids":[]},{"id":"dynamische-upstreams","heading":"Dynamische Upstreams mit resolve konfigurieren","part":2,"target_words":280,"purpose":"Das Muster aus resolver, upstream, zone, server hostname resolve und proxy_pass als lesbare Alternative zum variablen Ziel vorstellen. Das vollst\u00e4ndige Beispiel in Konfigurationsbl\u00f6cke gliedern und erkl\u00e4ren, wie Shared Memory und DNS-\u00c4nderungen zusammenh\u00e4ngen. Deutlich machen, dass die dokumentierte Open-Source-Voraussetzung NGINX 1.27.3 oder neuer ist und \u00e4ltere Installationen nicht gleich behandelt werden d\u00fcrfen. IPv4-only als separaten Architekturfall mit ipv6=off einordnen, ohne daraus eine allgemeine Optimierung abzuleiten.","source_ids":["S1","S2"],"internal_link_ids":[]},{"id":"sicher-ausrollen","heading":"Konfiguration sicher pr\u00fcfen und ausrollen","part":3,"target_words":260,"purpose":"Einen sicheren \u00c4nderungsablauf f\u00fcr die Resolver-Konfiguration beschreiben: Kontext und include-Struktur pr\u00fcfen, nginx -t ausf\u00fchren und erst danach einen Reload veranlassen. Erkl\u00e4ren, was der Syntaxcheck abdeckt und was er nicht als DNS-Funktionstest beweist. nginx -s reload als NGINX-Mechanismus einordnen und darauf hinweisen, dass paketabh\u00e4ngig ein Service-Manager zust\u00e4ndig sein kann. Ein kurzer Pr\u00fcfkatalog verbindet erwartete DNS-TTL, Backend-Erreichbarkeit, IP-Familie und \u00c4nderungsfenster.","source_ids":["S4","S1"],"internal_link_ids":[]},{"id":"resolver-fehler-eingrenzen","heading":"Typische Resolver-Fehler systematisch eingrenzen","part":3,"target_words":270,"purpose":"Eine fehlersuchende Reihenfolge statt einer blo\u00dfen Fehlerliste liefern: variabler Host ohne resolver, falsche oder nicht erreichbare Resolver-IP, zu weit oder zu eng gesetzter Scope, langes valid sowie unpassende IPv6-Ergebnisse. Je Fehlerbild Ursache, Konfigurationspr\u00fcfung und zul\u00e4ssige Korrektur in kurzen Abs\u00e4tzen verbinden. DNS-Timeouts von Backend-Verbindungsproblemen unterscheiden. Zus\u00e4tzlich klarstellen, dass status_zone und API-basierte Resolver-Statistiken nicht als allgemeine Open-Source-Monitoringl\u00f6sung dargestellt werden d\u00fcrfen.","source_ids":["S1","S2","S3"],"internal_link_ids":[]},{"id":"betriebsentscheidung","heading":"Resolver-Strategie f\u00fcr den Betrieb w\u00e4hlen","part":3,"target_words":250,"purpose":"Die Entscheidung zwischen TTL-gesteuerter Aufl\u00f6sung, bewusstem valid-Override, variablem proxy_pass und dynamischer upstream-Gruppe anhand von \u00c4nderungsrate, DNS-Hoheit, Versionsstand und Ausfallfolgen zusammenf\u00fchren. Einen praxisnahen Entscheidungsweg in klaren Abs\u00e4tzen formulieren: zuerst DNS und Netzarchitektur, dann NGINX-Muster, zuletzt Timeout- und IP-Familienwahl. Herausstellen, dass DNS-Cache und Upstream-Keepalive unterschiedliche Ebenen betreffen; der interne Beitrag erg\u00e4nzt die Verbindungswiederverwendung, ersetzt aber keine Resolver-Planung.","source_ids":["S1","S2"],"internal_link_ids":["I2"]}]},"repairs":1,"reviews":2,"issues":[],"guard":{"content_md5":"00d4ee046c92de068b9c7a606af6b568","title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","excerpt":"\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.","status":"draft","featured_media":21661},"verify":{"content_md5":"00d4ee046c92de068b9c7a606af6b568","title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","excerpt":"\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.","status":"draft","featured_media":21661},"row_number":1881,"created_at":"2026-09-22T12:46:54+00:00","updated_at":"2026-09-22T12:54:44+00:00","verified_at":"2026-09-22T12:54:39+00:00"},"_wh_make_research":"Recherche-Briefing f\u00fcr webhosting.de  \nThema: NGINX Resolver Cache richtig konfigurieren  \nRecherche-Stand: 22. September 2026\n\nLeserfrage und Artikelziel\n\nDer geplante Artikel beantwortet die Frage: Wie konfiguriere ich den NGINX-eigenen DNS-Resolver so, dass ein Reverse Proxy Backend-Namen zuverl\u00e4ssig aufl\u00f6st, DNS-\u00c4nderungen angemessen \u00fcbernimmt und dabei weder unn\u00f6tig veraltete IP-Adressen noch vermeidbare DNS-Anfragen entstehen?\n\nIm Mittelpunkt steht der Unterschied zwischen drei oft vermischten Funktionen:\n\n1. DNS-Aufl\u00f6sung von Upstream-Zielen durch NGINX,\n2. DNS-Antwort-Cache des NGINX-Resolvers,\n3. HTTP-Response-Cache mit `proxy_cache`.\n\nDer Artikel sollte sehr fr\u00fch klarstellen: `resolver` konfiguriert keinen HTTP-Cache und ersetzt auch keinen vollwertigen rekursiven DNS-Server. NGINX fragt die angegebenen Nameserver ab und cached Antworten f\u00fcr die Namensaufl\u00f6sung. Der Resolver ist insbesondere n\u00f6tig, wenn NGINX einen Hostnamen zur Laufzeit ermitteln muss, etwa weil `proxy_pass` Variablen enth\u00e4lt. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nVoraussetzungen und sinnvolle Zielgruppe\n\nDie Anleitung richtet sich an Administratoren von Linux-Webservern, die NGINX als Reverse Proxy vor Anwendungen, Containern, APIs oder externen SaaS-Endpunkten einsetzen. Vorausgesetzt werden Zugriff auf die NGINX-Konfiguration, Verst\u00e4ndnis f\u00fcr `http`, `server` und `location` sowie ein vorhandener, vertrauensw\u00fcrdiger DNS-Resolver im Netzwerk.\n\nVor jeder Konfigurationsentscheidung muss die tats\u00e4chlich eingesetzte NGINX-Version gepr\u00fcft werden. Das ist wichtig, weil Funktionen f\u00fcr dynamisch aktualisierte `upstream`-Gruppen historisch teilweise nur in NGINX Plus verf\u00fcgbar waren und sp\u00e4ter in NGINX Open Source kamen. Der `resolver` im `http`-, `server`- und `location`-Kontext ist eine lang etablierte Funktion. Die Resolver-Konfiguration direkt im `upstream`-Block ist laut offizieller Dokumentation seit NGINX 1.27.3 verf\u00fcgbar. Ebenso ist der Parameter `resolve` f\u00fcr `upstream server` seit dieser Version in Open Source verf\u00fcgbar; davor war er dort Teil des kommerziellen Angebots. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html))\n\nAls sichere Vorpr\u00fcfung eignet sich folgender Terminalbefehl:\n\nTerminalbefehl:\n```text\nnginx -V\n```\n\nEr zeigt Version und Build-Optionen. Bei Distributionen k\u00f6nnen Sicherheits- und Funktionspatches zur\u00fcckportiert sein; allein die sichtbare Hauptversionsnummer reicht deshalb nicht immer als Beleg f\u00fcr einen konkreten Funktionsumfang.\n\nGesicherte technische Funktionsweise\n\nDie Direktive `resolver` enth\u00e4lt die IP-Adressen der DNS-Server, die NGINX f\u00fcr die Namensaufll\u00f6sung nutzen soll. Mehrere Server sind m\u00f6glich; NGINX fragt sie laut Dokumentation im Round-Robin-Verfahren ab. Ohne expliziten Port verwendet NGINX Port 53. Als Resolver-Adresse sind IPv4- und IPv6-Adressen m\u00f6glich. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nDie zentrale Cache-Regel lautet: Ohne `valid` verwendet NGINX f\u00fcr DNS-Antworten grunds\u00e4tzlich die TTL aus der DNS-Antwort. Mit `valid=zeit` wird diese G\u00fcltigkeitsdauer \u00fcberschrieben. Das ist keine Angabe f\u00fcr eine Obergrenze oder ein \u201eRefresh-Intervall\u201c, sondern eine explizite Ersatzvorgabe f\u00fcr die TTL-basierte Cache-Dauer. Wer beispielsweise `valid=10m` setzt, kann damit auch eine vom autoritativen DNS bewusst kurz gesetzte TTL verl\u00e4ngern. Das erh\u00f6ht das Risiko, dass ein Reverse Proxy nach einem Backend-Wechsel noch bis zum Ablauf dieser zehn Minuten eine alte Adresse verwendet. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nDer Parameter `resolver_timeout` betrifft nicht die Cache-Laufzeit. Er begrenzt, wie lange NGINX auf die Namensaufl\u00f6sung wartet; die offizielle Voreinstellung betr\u00e4gt 30 Sekunden. F\u00fcr produktive Request-Pfade sollte der Artikel erkl\u00e4ren, dass ein DNS-Timeout immer im Verh\u00e4ltnis zu den \u00fcbrigen Upstream- und Client-Timeouts gew\u00e4hlt werden muss. Ein zu hoher Wert kann Fehlerantworten verz\u00f6gern, ein zu niedriger Wert kann bei einer tats\u00e4chlich langsamen internen DNS-Infrastruktur unn\u00f6tige Aufl\u00f6sungsfehler erzeugen. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nNGINX l\u00f6st standardm\u00e4\u00dfig sowohl IPv4- als auch IPv6-Adressen auf. Mit `ipv4=off` beziehungsweise `ipv6=off` l\u00e4sst sich eine Protokollfamilie gezielt ausschlie\u00dfen. Das ist sinnvoll, wenn das Backend nur \u00fcber eine Familie erreichbar ist oder ein unvollst\u00e4ndiges IPv6-Routing zu vermeidbaren Verbindungsproblemen f\u00fchrt. Es sollte aber nicht pauschal als Optimierung dargestellt werden: Eine Deaktivierung von IPv6 ist eine Architekturentscheidung, keine allgemeine Cache-Einstellung. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nPraxisfall 1: Variabler `proxy_pass` zu einem dynamischen Backend\n\nEin h\u00e4ufiger Fall sind Container-Plattformen oder externe API-Ziele, deren IP-Adresse sich \u00e4ndern kann. Enth\u00e4lt `proxy_pass` eine Variable, sucht NGINX den Namen zun\u00e4chst in definierten Upstream-Gruppen. Wird er dort nicht gefunden, muss NGINX ihn \u00fcber einen konfigurierten Resolver aufl\u00f6sen. Fehlt die `resolver`-Direktive, ist diese Laufzeitaufl\u00f6sung nicht zuverl\u00e4ssig konfiguriert und typische Fehlermeldungen wie \u201eno resolver defined\u201c sind die Folge. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html?utm_source=openai))\n\nSicheres Konfigurationsbeispiel, Dateikonfiguration:\n\n```text\nhttp {\n    resolver 192.0.2.53 valid=30s;\n    resolver_timeout 5s;\n\n    server {\n        listen 80;\n\n        location \/ {\n            set $backend api.internal.example;\n            proxy_pass http:\/\/$backend;\n        }\n    }\n}\n```\n\nDie Adresse `192.0.2.53` ist eine Dokumentationsadresse und kein zu verwendender produktiver Resolver. Im sp\u00e4teren Artikel muss ausdr\u00fccklich stehen, dass Administratoren stattdessen die IP-Adresse ihres internen, abgesicherten DNS-Resolvers einsetzen.\n\nDas Beispiel eignet sich didaktisch, weil es die Laufzeitaufl\u00f6sung sichtbar macht. Die Zeit `30s` darf jedoch nicht als Standardempfehlung erscheinen. Wenn die DNS-Zone korrekt gepflegte TTLs liefert, ist eine Konfiguration ohne `valid` in vielen F\u00e4llen die bessere Ausgangsbasis:\n\nDateikonfiguration:\n\n```text\nresolver 192.0.2.53;\nresolver_timeout 5s;\n```\n\nDamit bleibt die Cache-Dauer an die DNS-TTL gebunden. Die richtige Entscheidung h\u00e4ngt von Deployment-Intervallen, DNS-TTL, Fehlertoleranz und der Belastbarkeit der Resolver-Infrastruktur ab.\n\nPraxisfall 2: Feste Upstream-Gruppe mit DNS-\u00c4nderungen\n\nBei einer klassischen Upstream-Gruppe reicht ein Hostname im `server`-Eintrag nicht automatisch als Konzept f\u00fcr kontinuierliche DNS-Nachverfolgung. F\u00fcr dynamische IP-\u00c4nderungen innerhalb einer Upstream-Gruppe steht in aktuellen Open-Source-Versionen der Parameter `resolve` zur Verf\u00fcgung. Voraussetzung sind ein `resolver` sowie eine Shared-Memory-Zone mit `zone`. NGINX \u00fcberwacht dann \u00c4nderungen an den zum Namen geh\u00f6renden IP-Adressen und passt die Upstream-Konfiguration ohne NGINX-Neustart an. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html))\n\nDateikonfiguration:\n\n```text\nhttp {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    upstream application_pool {\n        zone application_pool 64k;\n        server app.internal.example resolve;\n    }\n\n    server {\n        listen 80;\n\n        location \/ {\n            proxy_pass http:\/\/application_pool;\n        }\n    }\n}\n```\n\nDieses Muster ist f\u00fcr einen Reverse Proxy mit mehreren DNS-Adresswechseln oft lesbarer als ein variabler `proxy_pass`. Es trennt Backend-Gruppe, Load-Balancing und Routing. Der Artikel sollte dennoch keine pauschale Aussage treffen, dass dies auf jeder Installation funktioniert: Er muss NGINX 1.27.3 oder neuer als dokumentierte Open-Source-Voraussetzung nennen und auf die Versionspr\u00fcfung verweisen. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html))\n\nPraxisfall 3: Dual Stack und gezielte Einschr\u00e4nkung\n\nWenn ein interner Dienst nur \u00fcber IPv4 erreichbar ist, kann folgende Konfiguration sinnvoll sein:\n\nDateikonfiguration:\n\n```text\nresolver 192.0.2.53 ipv6=off;\nresolver_timeout 5s;\n```\n\nDas verhindert AAAA-Abfragen durch NGINX. Der Artikel sollte den Nutzen konkret erkl\u00e4ren: weniger unn\u00f6tige Aufl\u00f6sungsversuche und keine Auswahl einer IPv6-Adresse f\u00fcr ein Ziel, das \u00fcber IPv6 nicht erreichbar ist. Nicht behaupten sollte er hingegen, dass dies DNS \u201ebeschleunigt\u201c oder generell erforderlich macht; daf\u00fcr fehlen ohne Umgebungsdaten belastbare Messwerte.\n\nEntscheidungshilfe f\u00fcr `valid`\n\nGeeignete Tabelleninformationen:\n\n| Betriebssituation | Sinnvolle Ausgangsentscheidung | Begr\u00fcndung | Risiko |\n|---|---|---|---|\n| DNS-Zone mit gepflegten TTLs | `valid` weglassen | NGINX richtet den Cache an der DNS-TTL aus | DNS-TTL muss zur Deployment-Strategie passen |\n| TTL kann nicht beeinflusst werden, Backend wechselt selten | `valid` bewusst und dokumentiert setzen | Cache-Zeit wird planbar | NGINX kann l\u00e4nger als DNS vorgesehen alte Ziele verwenden |\n| H\u00e4ufige Container- oder Service-Wechsel | kurze TTL im autoritativen DNS bevorzugen | DNS bleibt zentrale Quelle der Aktualit\u00e4t | Mehr DNS-Anfragen m\u00f6glich |\n| Einmalig stabile interne IP | statische IP oder regul\u00e4re Upstream-Konfiguration pr\u00fcfen | DNS-Dynamik ist eventuell nicht n\u00f6tig | Verlust von Flexibilit\u00e4t bei sp\u00e4teren Umz\u00fcgen |\n| DNS-basierte Service-Erkennung | `upstream`, `zone`, `resolve` pr\u00fcfen | \u00c4nderungen k\u00f6nnen ohne NGINX-Reload verfolgt werden | Versions- und Architekturabh\u00e4ngigkeit |\n\nEine sinnvolle Kernaussage: `valid` ist ein bewusstes Override f\u00fcr Betriebsanforderungen, nicht eine universelle Performance-Optimierung. Es gibt keinen allgemein sicheren Zahlenwert.\n\nAbgrenzungen und Grenzen\n\nDer NGINX-Resolver verwendet ausschlie\u00dflich die angegebenen Nameserver. Die Konfiguration ist daher nicht dasselbe wie das automatische \u00dcbernehmen aller Einstellungen aus `\/etc\/resolv.conf`. F\u00fcr produktive Reverse Proxies sind \u00f6ffentliche Resolver meist nicht die passende Standardwahl, wenn interne Namen oder private Service-Zonen aufgel\u00f6st werden m\u00fcssen. Die NGINX-Dokumentation empfiehlt ausdr\u00fccklich DNS-Server in einem angemessen abgesicherten, vertrauensw\u00fcrdigen lokalen Netzwerk, um DNS-Spoofing-Risiken zu senken. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\n`status_zone` darf nicht als allgemeine Monitoring-Funktion f\u00fcr NGINX Open Source beschrieben werden. Die Direktive erm\u00f6glicht DNS-Server-Statistiken, ist laut offizieller Dokumentation aber Teil des kommerziellen Angebots. Ebenso sollten API-basierte Resolver-Statistiken nicht als Open-Source-Standard empfohlen werden. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html))\n\nTypische Fehler, die der Artikel behandeln sollte\n\nErstens: `proxy_cache` mit DNS-Cache verwechseln. `proxy_cache` speichert HTTP-Antworten; `resolver` speichert DNS-Antworten. Beide Cache-Arten haben unterschiedliche Schl\u00fcssel, Laufzeiten und Fehlerbilder. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html?utm_source=openai))\n\nZweitens: Einen variablen Host in `proxy_pass` verwenden, aber keinen `resolver` konfigurieren. Das f\u00fchrt bei der Laufzeitaufl\u00f6sung zu Fehlern. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html?utm_source=openai))\n\nDrittens: `valid` sehr lang setzen und erwarten, dass neue DNS-Eintr\u00e4ge sofort verwendet werden. Tats\u00e4chlich \u00fcberschreibt `valid` die Antwort-TTL. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nViertens: Den Resolver zu eng im `location`-Block definieren, obwohl mehrere virtuelle Hosts oder Upstreams ihn ben\u00f6tigen. Der Artikel sollte erl\u00e4utern, dass `resolver` im `http`, `server` und `location` erlaubt ist; der Scope sollte zur Betriebsstruktur passen. ([nginx.org](https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai))\n\nF\u00fcnftens: Eine Konfiguration \u00e4ndern, ohne Syntax und Einbindung zu pr\u00fcfen. Ein sicheres Vorgehen ist:\n\nTerminalbefehl:\n```text\nnginx -t\n```\n\nEr pr\u00fcft Syntax und versucht, referenzierte Dateien zu \u00f6ffnen. Erst danach ist ein Reload sinnvoll:\n\nTerminalbefehl:\n```text\nnginx -s reload\n```\n\nBeim Reload startet NGINX neue Worker mit der neuen Konfiguration und f\u00e4hrt alte Worker kontrolliert herunter. Der Artikel sollte darauf hinweisen, dass Befehle je nach Betriebssystempaket \u00fcber einen Service-Manager ausgef\u00fchrt werden k\u00f6nnen, ohne konkrete produktive Befehle f\u00fcr unbekannte Installationen vorzugeben. ([nginx.org](https:\/\/nginx.org\/en\/docs\/switches.html?utm_source=openai))","_wh_make_sources":{"S1":{"id":"S1","url":"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_core_module.html?utm_source=openai","title":"\u30e2\u30b8\u30e5\u30fc\u30eb ngx_http_core_module"},"S2":{"id":"S2","url":"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_upstream_module.html","title":"\u30e2\u30b8\u30e5\u30fc\u30eb ngx_http_upstream_module"},"S3":{"id":"S3","url":"https:\/\/nginx.org\/en\/docs\/http\/ngx_http_proxy_module.html?utm_source=openai","title":"\u30e2\u30b8\u30e5\u30fc\u30eb ngx_http_proxy_module"},"S4":{"id":"S4","url":"https:\/\/nginx.org\/en\/docs\/switches.html?utm_source=openai","title":"\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u5f15\u6570"}},"_wh_make_usage":{"research":{"input_tokens":28762,"output_tokens":3845,"response_id":"resp_0c203d2ffc88d28d016ab278c1b4b087d2a892423b9e98a1f4","model":"gpt-5.6-terra","search_calls":3},"plan_baaff9ded58232ae66eefb69d24f634e":{"input_tokens":5774,"output_tokens":1620,"response_id":"resp_05adc2eb39aa1a17016ab27906970087d2a0cefc7d95b462a4","model":"gpt-5.6-terra","search_calls":0},"part1_169d5bbdbed22beabba6ffd2f26f331f":{"input_tokens":8403,"output_tokens":2034,"response_id":"resp_096300afe69ec05a016ab27922e1a087d2a907c8fbec0c945c","model":"gpt-5.6-terra","search_calls":0},"part2_cffcc92b8528af841e1fe3ddc05b65de":{"input_tokens":8442,"output_tokens":2721,"response_id":"resp_08e8051180511049016ab279408dd887d29092222d120bb2a3","model":"gpt-5.6-terra","search_calls":0},"part3_4212988fd5f83721f7803df991538ab6":{"input_tokens":8486,"output_tokens":2357,"response_id":"resp_092eaf834038b71b016ab27967ee6c87d2b8d91da1bca2f3c5","model":"gpt-5.6-terra","search_calls":0},"package_c1e970624062326f7482251bcbb892c2":{"input_tokens":13803,"output_tokens":1342,"response_id":"resp_0d9f60220ed3aed3016ab2798dc70087d2964196b0a52a9812","model":"gpt-5.6-terra","search_calls":0},"review_568d0ea3d1deac494745ac14c07e6912":{"input_tokens":45384,"output_tokens":1665,"response_id":"resp_0daad4be99ffb434016ab279a88fa487d2a892555437b9ca53","model":"gpt-5.6-sol","search_calls":3},"repair_c7ecb2035315905ecac2f6b1fa84e5b0":{"input_tokens":15714,"output_tokens":3828,"response_id":"resp_0c608ec174d79ac8016ab279e7c8f887d2a51a278f49b0843b","model":"gpt-5.6-terra","search_calls":0},"review_7b3776cd29d1e9a3b809afafa4813481":{"input_tokens":36758,"output_tokens":1372,"response_id":"resp_035cae4afa066ae0016ab27a167e2c87d290866499c5b61e17","model":"gpt-5.6-sol","search_calls":2},"image_hero":{"input_tokens":108,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail1":{"input_tokens":102,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0},"image_detail2":{"input_tokens":142,"output_tokens":343,"response_id":"","model":"gpt-image-2.5-flare","search_calls":0}},"_wh_make_last_error":"","_wh_make_write_intent":{"before":{"content_md5":"31c8942dfa87aa18dd5679839114276d","title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","excerpt":"\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.","status":"draft","featured_media":0},"expected":{"content_md5":"00d4ee046c92de068b9c7a606af6b568","title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","excerpt":"\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.","status":"draft","featured_media":21661},"at":"2026-09-22T12:54:28+00:00"},"_wh_make_design_version":"2.1.2","rank_math_title":"NGINX Resolver Cache richtig konfigurieren","_wh_make_doc":{"title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","slug":"nginx%e3%81%ae%e3%83%aa%e3%82%be%e3%83%ab%e3%83%90%e3%83%bc%e3%82%ad%e3%83%a3%e3%83%83%e3%82%b7%e3%83%a5%e3%82%92%e6%ad%a3%e3%81%97%e3%81%8f%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b","excerpt":"\u52d5\u7684\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u7528\u306bNGINX\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u8a2d\u5b9a\u3059\u308b\u65b9\u6cd5\uff1aDNS-TTL\u3001valid\u3001resolver_timeout\u3001\u53ef\u5909\u306eproxy_pass\u5148\u3001\u304a\u3088\u3073\u52d5\u7684\u306a\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u660e\u78ba\u306b\u533a\u5225\u3059\u308b\u3002.","seo":{"title":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u30ad\u30e3\u30c3\u30b7\u30e5\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b","description":"NGINX\u306e\u30ea\u30be\u30eb\u30d0\u30fc\u3092\u6b63\u3057\u304f\u8a2d\u5b9a\u3059\u308b\uff1aDNS\u306eTTL\u3001valid\u3001resolver_timeout\u3001\u304a\u3088\u3073\u30ea\u30d0\u30fc\u30b9\u30d7\u30ed\u30ad\u30b7\u5411\u3051\u306e\u52d5\u7684\u30a2\u30c3\u30d7\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u9069\u5207\u306b\u8a08\u753b\u3059\u308b\u3002.","focus_keyword":"NGINX Resolver Cache"},"lead":[{"kind":"text","text":"Der ","ref":""},{"kind":"strong","text":"NGINX-Resolver","ref":""},{"kind":"text","text":" cached DNS-Antworten f\u00fcr Backend-Namen, nicht jedoch HTTP-Antworten. F\u00fcr eine robuste Reverse-Proxy-Konfiguration verwendest du einen vertrauensw\u00fcrdigen internen Nameserver, l\u00e4sst gepflegte DNS-TTLs meist wirken und setzt ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" nur als bewusstes Override. Besonders wichtig wird der Resolver bei variablen Zielen in ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" sowie bei dynamischen Upstreams, deren Funktionsumfang von der installierten NGINX-Version abh\u00e4ngt.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S2"},{"kind":"citation","text":"","ref":"S3"}],"images":{"hero":{"prompt":"Konzeptionelle technische Illustration eines Reverse Proxy vor mehreren Backend-Diensten: links ein einzelner Proxy-Knoten, in der Mitte ein klarer DNS-Aufl\u00f6sungsweg mit kurzzeitigem Cache-Symbol, rechts austauschbare Backend-IP-Knoten; ruhige blaugr\u00fcne Farbpalette, viel Freiraum, pr\u00e4zise isometrische Darstellung, keine Schrift, keine Zahlen, keine Logos.","alt":"Konzeptionelle Darstellung eines NGINX Reverse Proxy mit DNS-Resolver-Cache und wechselnden Backend-Adressen.","caption":"Die Illustration trennt Namensaufl\u00f6sung, DNS-Cache und die Verbindung zum eigentlichen Backend.","filename_base":"nginx-resolver-cache-reverse-proxy","section_id":"","after_block":0},"detail1":{"prompt":"Konzeptionelle Ablaufgrafik zur TTL-Entscheidung: ein DNS-Record gelangt in einen kleinen Cache, zwei Wege zeigen entweder die \u00dcbernahme der DNS-TTL oder eine bewusst gesetzte abweichende Haltedauer; dezente blaue und orange Akzente, klare Blickf\u00fchrung von links nach rechts, keine Schrift, keine Zahlen, keine Logos.","alt":"Illustration zur Wirkung von DNS-TTL und valid auf die Cache-Dauer im NGINX-Resolver.","caption":"DNS-TTL und ein valid-Override bestimmen auf unterschiedliche Weise, wie lange Antworten verwendet werden.","filename_base":"nginx-dns-ttl-valid-entscheidung","section_id":"ttl-und-valid-planen","after_block":2},"detail2":{"prompt":"Konzeptionelle technische Illustration eines dynamischen NGINX-Upstreams: ein NGINX-Knoten erh\u00e4lt DNS-Antworten von einem separat dargestellten Resolver und verbindet sich mit mehreren wechselnden Backend-Adressknoten. Innerhalb des NGINX-Knotens ist ein klar abgegrenzter gemeinsamer Zustandsbereich als Shared-Memory-Zone dargestellt, ohne ihn als Netzwerkstation oder DNS-Datenpfad zu zeigen; ruhige blaugr\u00fcne Farbgebung, wenige klare Elemente, viel Freiraum, keine Schrift, keine Zahlen, keine Logos.","alt":"Konzeptionelle Darstellung eines dynamischen NGINX-Upstreams mit getrenntem DNS-Resolver, internem Shared-Memory-Zustand und Backend-Adressen.","caption":"Die Shared-Memory-Zone verwaltet Upstream-Zustand innerhalb von NGINX; DNS-Aufl\u00f6sung und Backend-Verbindungen bleiben getrennte Wege.","filename_base":"nginx-dynamischer-upstream-resolve","section_id":"dynamische-upstreams","after_block":3}},"chart":null,"social":{"facebook":"NGINX Resolver, DNS-TTL und valid werden h\u00e4ufig mit HTTP-Caching verwechselt. Der Beitrag zeigt, wie du dynamische Backend-Namen im Reverse Proxy sauber planst.","instagram":"DNS-Cache ist nicht gleich HTTP-Cache: So planst du NGINX Resolver, TTL, valid und dynamische Upstreams f\u00fcr wechselnde Backend-Adressen.","tiktok":"NGINX nutzt f\u00fcr variable proxy_pass-Ziele einen Resolver. Warum valid die DNS-TTL ersetzt und kein Refresh-Intervall ist, erkl\u00e4rt der Leitfaden.","youtube":"NGINX Resolver Cache konfigurieren: DNS-TTL, valid, resolver_timeout und dynamische Upstreams im Reverse Proxy verst\u00e4ndlich erkl\u00e4rt.","threads":"Ein langer valid-Wert kann alte Backend-IP-Adressen l\u00e4nger halten als die DNS-TTL vorsieht. Wann ein Override sinnvoll ist \u2013 und wann nicht.","x":"NGINX Resolver richtig planen: DNS-TTL wirkt standardm\u00e4\u00dfig, valid ersetzt sie als bewusster Override. Wichtig bei variablem proxy_pass und dynamischen Upstreams \u2013 HTTP-Cache ist etwas anderes."},"avatar_script":"Wenn NGINX ein Backend \u00fcber einen Hostnamen erreicht, entscheidet der Resolver, welche Adresse verwendet wird und wie lange diese DNS-Antwort im Cache bleibt. Wichtig ist die Trennung: proxy_cache speichert HTTP-Antworten, der Resolver dagegen DNS-Daten. Ohne valid folgt NGINX grunds\u00e4tzlich der TTL aus der DNS-Antwort. Mit valid ersetzt du diese Dauer vollst\u00e4ndig, was bei Backend-Umz\u00fcgen bewusst geplant werden muss. Variable proxy_pass-Ziele ben\u00f6tigen einen Resolver im passenden Kontext. F\u00fcr DNS-aktualisierte Upstream-Gruppen kommen zus\u00e4tzlich zone und resolve infrage, allerdings nur mit dem passenden NGINX-Funktionsumfang. Pr\u00fcfe daher Version, DNS-Zust\u00e4ndigkeit, Timeout-Budget und IPv4- oder IPv6-Erreichbarkeit, bevor du die Konfiguration ausrollst.","version_note":"Recherche-Stand: 22. September 2026. Die Beispiele f\u00fcr dynamische Upstreams mit resolver im upstream-Block und server \u2026 resolve beziehen sich in NGINX Open Source auf die dokumentierte Unterst\u00fctzung ab Version 1.27.3; bei Distributionspaketen sind Build- und Herstellerdokumentation zus\u00e4tzlich ma\u00dfgeblich.","sections":[{"id":"resolver-grundlagen","heading":"NGINX Resolver und DNS-Cache verstehen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein Reverse Proxy ben\u00f6tigt f\u00fcr ein Backend mit Hostnamen zun\u00e4chst eine IP-Adresse. Der ","ref":""},{"kind":"strong","text":"NGINX-Resolver","ref":""},{"kind":"text","text":" fragt daf\u00fcr die in der Konfiguration festgelegten Nameserver ab. Die erhaltene DNS-Antwort wird zwischengespeichert, damit NGINX den Namen w\u00e4hrend seiner G\u00fcltigkeitsdauer nicht f\u00fcr jede Anfrage erneut aufl\u00f6sen muss. Dieser Cache betrifft ausschlie\u00dflich die Namensaufl\u00f6sung zum Zielsystem.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Direktive ","ref":""},{"kind":"code","text":"resolver","ref":""},{"kind":"text","text":" enth\u00e4lt eine oder mehrere Resolver-Adressen beziehungsweise unterst\u00fctzte Resolver-Bezeichner. Ohne abweichende Portangabe verwendet NGINX Port 53; bei mehreren eingetragenen Servern erfolgen die Anfragen laut Dokumentation im Round-Robin-Verfahren. F\u00fcr eine robuste Bootstrap-Konfiguration sind feste IP-Adressen oft nachvollziehbar, weil ihre Aufl\u00f6sung nicht selbst von DNS abh\u00e4ngt.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Standardm\u00e4\u00dfig ber\u00fccksichtigt NGINX IPv4- und IPv6-Adressen eines Namens. Das ist passend, wenn das Netzwerk beide Protokollfamilien bis zum Backend zuverl\u00e4ssig transportiert. Parameter wie ","ref":""},{"kind":"code","text":"ipv4=off","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"ipv6=off","ref":""},{"kind":"text","text":" schlie\u00dfen eine Familie gezielt aus, sind aber keine allgemeine Cache-Optimierung. Ob sie erforderlich sind, entscheidet die Erreichbarkeit des konkreten Backends und nicht die blo\u00dfe Existenz eines AAAA-Records.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Resolver ist weder ein vollwertiger rekursiver DNS-Server noch eine automatische \u00dcbernahme aller Einstellungen aus ","ref":""},{"kind":"code","text":"\/etc\/resolv.conf","ref":""},{"kind":"text","text":". NGINX nutzt die explizit angegebenen Nameserver. F\u00fcr interne Zonen und produktive Backend-Namen sollten das vertrauensw\u00fcrdige, angemessen abgesicherte Resolver im eigenen Netzwerk sein. So bleiben Zust\u00e4ndigkeit f\u00fcr private Namen und Schutz vor manipulierten DNS-Antworten in einer kontrollierbaren Infrastruktur.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"cache-arten-abgrenzen","heading":"DNS-Cache ist kein HTTP-Cache","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der DNS-Response-Cache des Resolvers speichert Zuordnungen zwischen Namen und DNS-Antworten, etwa A- oder AAAA-Adressen. Sein Zweck ist, ein Backend erneut erreichen zu k\u00f6nnen, ohne jede Namensaufl\u00f6sung wiederholen zu m\u00fcssen. \u00c4ndert sich eine Backend-IP, ist deshalb die G\u00fcltigkeit der DNS-Antwort relevant \u2013 nicht der Inhalt einer zuvor ausgelieferten HTTP-Antwort.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Davon getrennt speichert ","ref":""},{"kind":"code","text":"proxy_cache","ref":""},{"kind":"text","text":" HTTP-Responses eines Upstreams. Der Schl\u00fcssel umfasst je nach Konfiguration beispielsweise URI, Host oder Header; ein Treffer liefert eine bereits gespeicherte Antwort an den Client. Probleme zeigen sich hier als veraltete Seiten, falsche Varianten oder unerwartete Cache-Hits. Diese Funktion entscheidet nicht, welche IP NGINX beim Aufbau einer neuen Backend-Verbindung verwendet.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Open-File-Cache ist eine dritte Ebene: Er h\u00e4lt Dateiinformationen und offene Deskriptoren f\u00fcr lokale Dateisystemzugriffe vor, aber weder DNS-Antworten noch HTTP-Inhalte. Wer diese Abgrenzung f\u00fcr statische Auslieferung vertiefen m\u00f6chte, findet sie im Beitrag zur ","ref":""},{"kind":"internal_link","text":"Konfiguration des NGINX Open File Cache","ref":"I1"},{"kind":"text","text":". F\u00fcr die Wahl einer Resolver-TTL liefert er jedoch keine Entscheidungsgrundlage.","ref":""}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das Leeren, Purgen oder Abstimmen eines HTTP-Caches beschleunigt daher keine DNS-\u00c4nderung. Umgekehrt behebt eine neue DNS-Aufl\u00f6sung keine fehlerhaft gecachte HTTP-Antwort. Beim Reverse Proxy begrenzt der ","ref":""},{"kind":"strong","text":"DNS-Cache","ref":""},{"kind":"text","text":" sich zudem auf Namen und Adressen: Er pr\u00fcft weder die Gesundheit einer Anwendung noch ersetzt er Load-Balancing, Retries oder die korrekte Timeout-Planung zum Upstream.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S3"}]}]},{"id":"laufzeitauflosung-und-versionen","heading":"Wann NGINX Namen erneut aufl\u00f6sen muss","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Ein Hostname kann NGINX bereits beim Einlesen der Konfiguration bekannt sein. Anders ist der Fall bei einem variablen Ziel, etwa ","ref":""},{"kind":"code","text":"proxy_pass http:\/\/$backend;","ref":""},{"kind":"text","text":". NGINX sucht den resultierenden Namen zun\u00e4chst in definierten Upstream-Gruppen. Findet es dort keinen passenden Namen, braucht es zur Laufzeit einen konfigurierten Resolver, um die Zieladresse zu ermitteln.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" weist in diesem Zusammenhang nicht auf einen fehlenden HTTP-Cache hin. Sie bedeutet, dass NGINX f\u00fcr die notwendige Laufzeitaufl\u00f6sung keinen DNS-Server kennt. ","ref":""},{"kind":"code","text":"resolver","ref":""},{"kind":"text","text":" darf im Kontext ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":", ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":" oder ","ref":""},{"kind":"code","text":"location","ref":""},{"kind":"text","text":" stehen. Ein zentraler Eintrag im ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Block eignet sich, wenn mehrere virtuelle Hosts denselben Resolver nutzen; ein engerer Scope passt nur bei tats\u00e4chlich abweichenden Anforderungen.","ref":""},{"kind":"citation","text":"","ref":"S1"},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Von dieser lang verf\u00fcgbaren Laufzeitaufl\u00f6sung ist die dynamische Aktualisierung einer klassischen Upstream-Gruppe zu trennen. Die Resolver-Konfiguration direkt im ","ref":""},{"kind":"code","text":"upstream","ref":""},{"kind":"text","text":"-Block sowie ","ref":""},{"kind":"code","text":"server hostname resolve","ref":""},{"kind":"text","text":" sind laut Dokumentation in NGINX Open Source ab Version 1.27.3 verf\u00fcgbar. \u00c4ltere Open-Source-Installationen d\u00fcrfen nicht so behandelt werden, als unterst\u00fctzten sie dieses Muster automatisch; entsprechende Funktionen waren historisch teilweise NGINX Plus vorbehalten.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Vor der Planung dynamischer Upstreams pr\u00fcfst du die installierte Ausgabe und Build-Informationen. Der folgende Befehl gibt die NGINX-Version, die Compiler-Version und die beim Build verwendeten Configure-Parameter aus.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"code","language":"text","code":"nginx -V","source_ids":["S4"]},{"type":"paragraph","runs":[{"kind":"text","text":"Vergleiche den angezeigten Stand bei kritischen Deployments mit der Dokumentation des konkret eingesetzten Pakets und dessen Anbieters. Ma\u00dfgeblich ist, ob diese Installation die ben\u00f6tigte Funktion dokumentiert und bereitstellt. Erst danach ist ein ","ref":""},{"kind":"strong","text":"dynamischer Upstream","ref":""},{"kind":"text","text":" eine belastbare Architekturentscheidung.","ref":""},{"kind":"citation","text":"","ref":"S2"}]}]},{"id":"ttl-und-valid-planen","heading":"TTL und valid bewusst festlegen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Der Resolver-Cache von NGINX richtet sich ohne eine zus\u00e4tzliche Vorgabe nach der ","ref":""},{"kind":"strong","text":"DNS-TTL","ref":""},{"kind":"text","text":" in der Antwort des abgefragten Nameservers. \u00c4ndert der autoritative DNS-Betreiber die IP-Adresse eines Backends, nutzt NGINX die bisherige Antwort bis zu deren TTL-Ablauf. Erst wenn danach wieder eine Namensaufl\u00f6sung erforderlich ist, fragt NGINX den Resolver erneut ab. Damit bleibt die G\u00fcltigkeitsdauer dort steuerbar, wo die Namensdaten gepflegt werden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Parameter ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" ersetzt diese TTL vollst\u00e4ndig durch den konfigurierten Zeitraum. Er begrenzt die DNS-TTL also nicht nur nach oben und definiert auch kein regelm\u00e4\u00dfiges Auffrischen zus\u00e4tzlich zur TTL. Ein Wert von ","ref":""},{"kind":"code","text":"valid=30s","ref":""},{"kind":"text","text":" kann eine l\u00e4ngere DNS-TTL verk\u00fcrzen, aber ebenso eine bewusst kurze TTL verl\u00e4ngern. Das muss zur Umzugs- und Deployment-Planung des Backends passen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Wenn die Zone verl\u00e4sslich gepflegt wird, ist eine Konfiguration ohne Override die nachvollziehbare Ausgangsbasis. Die Adresse im Beispiel ist gem\u00e4\u00df den Dokumentationsnetzen gew\u00e4hlt und darf nicht als produktiver Resolver \u00fcbernommen werden. Trage stattdessen die Adresse eines erreichbaren und vertrauensw\u00fcrdigen DNS-Resolvers aus dem eigenen Netzwerk ein.","ref":""}]},{"type":"code","language":"nginx","code":"resolver 192.0.2.53;\nresolver_timeout 5s;","source_ids":["S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Override kann sinnvoll sein, wenn die DNS-TTL nicht beeinflussbar ist und eine dokumentierte betriebliche Vorgabe existiert. Dann macht die Abweichung ausdr\u00fccklich sichtbar, wie lange NGINX Antworten h\u00e4lt. Sie ist keine allgemeine Leistungsoptimierung: K\u00fcrzere Zeiten k\u00f6nnen mehr DNS-Abfragen ausl\u00f6sen, l\u00e4ngere Zeiten k\u00f6nnen den Wechsel auf neue Backend-Adressen verz\u00f6gern.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"code","language":"nginx","code":"resolver 192.0.2.53 valid=30s;\nresolver_timeout 5s;","source_ids":["S1"]},{"type":"table","caption":"Ausgangsentscheidungen f\u00fcr DNS-TTL und valid","headers":["Betriebssituation","Ausgangsentscheidung","Begr\u00fcndung","Risiko"],"rows":[["DNS-Zone mit gepflegten TTLs","valid weglassen","NGINX folgt der vom DNS vorgegebenen Cache-Dauer.","Die TTL muss zum \u00c4nderungsfenster passen."],["TTL nicht steuerbar, Wechsel selten","valid bewusst dokumentieren","Die Haltedauer wird f\u00fcr den Proxy planbar.","Alte Zieladressen k\u00f6nnen l\u00e4nger genutzt werden als vom DNS vorgesehen."],["H\u00e4ufige Service- oder Container-Wechsel","Kurze TTL im autoritativen DNS bevorzugen","Das DNS bleibt die ma\u00dfgebliche Quelle f\u00fcr Aktualit\u00e4t.","Mehr Abfragen k\u00f6nnen die Resolver-Infrastruktur belasten."],["DNS-basierte Service-Erkennung","Dynamischen Upstream mit resolve pr\u00fcfen","Die Upstream-Mitglieder k\u00f6nnen DNS-\u00c4nderungen folgen.","Version und Architektur m\u00fcssen die Funktion unterst\u00fctzen."]],"source_ids":["S1"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Entscheidung beginnt daher nicht mit einer festen Sekundenangabe, sondern mit der Frage, wer DNS-Daten kontrolliert und wie schnell ein Backend-Wechsel wirksam werden muss. ","ref":""},{"kind":"strong","text":"valid","ref":""},{"kind":"text","text":" ist ein bewusster Eingriff in diese Regelung. Er eignet sich nicht als pauschaler Schalter, um den Reverse Proxy schneller zu machen oder DNS-Probleme zu verdecken.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"variabler-proxy-pass","heading":"Variablen in proxy_pass korrekt aufl\u00f6sen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Enth\u00e4lt ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" eine Variable, muss NGINX den resultierenden Hostnamen zur Laufzeit behandeln. Zun\u00e4chst sucht NGINX nach einer passenden Upstream-Gruppe; findet es keine, ben\u00f6tigt es f\u00fcr den Namen einen konfigurierten Resolver. Fehlt dieser, ist die typische Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" kein Hinweis auf einen HTTP-Cache, sondern auf die fehlende DNS-Konfiguration f\u00fcr diesen Ausf\u00fchrungspfad.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Das folgende Muster macht die Laufzeitaufl\u00f6sung bewusst sichtbar. Der Resolver steht im ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Kontext und gilt dadurch f\u00fcr mehrere virtuelle Hosts, sofern keine spezifischere Einstellung ihn \u00fcberschreibt. Die verwendete Dokumentationsadresse muss durch den internen Resolver der jeweiligen Umgebung ersetzt werden.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"code","language":"nginx","code":"http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    server {\n        listen 80;\n\n        location \/ {\n            set $backend api.internal.example;\n            proxy_pass http:\/\/$backend;\n        }\n    }\n}","source_ids":["S1","S3"]},{"type":"paragraph","runs":[{"kind":"text","text":"Die Direktive ","ref":""},{"kind":"code","text":"resolver_timeout","ref":""},{"kind":"text","text":" steuert nicht die Cache-Dauer. Sie begrenzt, wie lange NGINX auf eine Namensaufl\u00f6sung wartet; der dokumentierte Standard betr\u00e4gt 30 Sekunden. Die Wahl geh\u00f6rt zu den \u00fcbrigen Fehlerbudgets: Ein zu hoher Wert kann eine fehlgeschlagene Anfrage bis zur Fehlerantwort verz\u00f6gern, ein zu niedriger Wert erzeugt bei zeitweise langsamen internen Resolvern vermeidbare Aufl\u00f6sungsfehler.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr einen einzelnen, klar abgegrenzten Standort kann der Resolver im ","ref":""},{"kind":"code","text":"location","ref":""},{"kind":"text","text":"-Block stehen. Ben\u00f6tigen mehrere Locations oder Server dieselbe Aufl\u00f6sung, ist ein gemeinsamer Scope im ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":"- oder ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Block wartungs\u00e4rmer. NGINX erlaubt die Direktive in allen drei Kontexten; der Geltungsbereich sollte die tats\u00e4chliche Betriebsstruktur abbilden, nicht nur eine einzelne Fehlermeldung kurzfristig beseitigen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Auch bei variablen Zielen bleiben DNS-Timeout und Verbindung zum Backend getrennte Fehlerklassen. Eine erfolgreiche Namensaufl\u00f6sung beweist weder, dass der Zielport erreichbar ist, noch dass die Anwendung antwortet. Umgekehrt behebt ein h\u00f6herer Upstream-Timeout keine nicht erreichbare Resolver-Adresse.","ref":""},{"kind":"citation","text":"","ref":"S3"}]}]},{"id":"dynamische-upstreams","heading":"Dynamische Upstreams mit resolve konfigurieren","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr eine benannte Backend-Gruppe kann ein dynamischer Upstream lesbarer sein als ein variabler Zielwert in jeder Location. Das Muster trennt die Definition der Backend-Mitglieder vom Routing: ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" verweist auf die Gruppe, w\u00e4hrend der Hostname im Upstream \u00fcber DNS aktualisiert werden kann. Das ist besonders passend, wenn mehrere Routen dieselbe Anwendung ansprechen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Der Parameter ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" f\u00fcr einen ","ref":""},{"kind":"code","text":"server","ref":""},{"kind":"text","text":"-Eintrag existiert historisch seit NGINX 1.5.12. In NGINX Open Source ist er laut Dokumentation jedoch erst ab Version 1.27.3 verf\u00fcgbar; zuvor war diese Funktion kommerziell beschr\u00e4nkt. Auch die Resolver-Konfiguration direkt im ","ref":""},{"kind":"code","text":"upstream","ref":""},{"kind":"text","text":"-Block ist f\u00fcr Open Source ab 1.27.3 dokumentiert.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Die ","ref":""},{"kind":"strong","text":"Shared-Memory-Zone","ref":""},{"kind":"text","text":" ist dabei kein Cache-Timeout und kein DNS-Datenpfad. Sie stellt innerhalb von NGINX gemeinsamen Speicher bereit, den dynamisch ver\u00e4nderte Upstream-Konfigurationen ben\u00f6tigen. Erkennt NGINX bei der DNS-Aufl\u00f6sung andere Adressen f\u00fcr den Namen, kann die Upstream-Gruppe anhand dieses intern verwalteten Zustands ohne Neustart angepasst werden.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"code","language":"nginx","code":"http {\n    resolver 192.0.2.53;\n    resolver_timeout 5s;\n\n    upstream application_pool {\n        zone application_pool 64k;\n        server app.internal.example resolve;\n    }\n\n    server {\n        listen 80;\n\n        location \/ {\n            proxy_pass http:\/\/application_pool;\n        }\n    }\n}","source_ids":["S1","S2"]},{"type":"paragraph","runs":[{"kind":"text","text":"Wie bei allen Beispielen steht ","ref":""},{"kind":"code","text":"192.0.2.53","ref":""},{"kind":"text","text":" nur f\u00fcr eine Dokumentationsadresse. In der Praxis muss der eingetragene Resolver interne Namen zuverl\u00e4ssig kennen, aus dem NGINX-Netz erreichbar sein und als vertrauensw\u00fcrdig gelten. Vor der \u00dcbernahme ist au\u00dferdem der tats\u00e4chliche Funktionsumfang des installierten Pakets zu pr\u00fcfen, statt die Konfiguration allein aus einem aktuellen Beispiel abzuleiten.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein Dienst, der ausschlie\u00dflich \u00fcber IPv4 erreichbar ist, kann eine gezielte Einschr\u00e4nkung rechtfertigen: ","ref":""},{"kind":"code","text":"resolver 192.0.2.53 ipv6=off;","ref":""},{"kind":"text","text":" verhindert AAAA-Abfragen und die Auswahl einer IPv6-Adresse f\u00fcr diesen Resolver-Kontext. Das ist jedoch eine Netzarchitekturentscheidung. Bei funktionierendem Dual Stack sollte IPv6 nicht allein aus Gewohnheit deaktiviert werden; standardm\u00e4\u00dfig l\u00f6st NGINX beide IP-Familien auf.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"sicher-ausrollen","heading":"Konfiguration sicher pr\u00fcfen und ausrollen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Vor einer \u00c4nderung pr\u00fcfst du zun\u00e4chst, an welcher Stelle die Resolver-Direktiven tats\u00e4chlich gelten. Suche dazu die aktive Konfiguration einschlie\u00dflich eingebundener Dateien und kl\u00e4re, ob der Resolver f\u00fcr das gesamte ","ref":""},{"kind":"code","text":"http","ref":""},{"kind":"text","text":"-Kontext, nur f\u00fcr einen virtuellen Host oder lediglich f\u00fcr einen einzelnen Pfad vorgesehen ist. Ein zu enger Scope kann dazu f\u00fchren, dass ein anderer variabler Proxy-Pfad keinen Resolver findet; ein zu weiter Scope erschwert dagegen die sp\u00e4tere Zuordnung von \u00c4nderungen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Nach jeder Anpassung folgt der ","ref":""},{"kind":"strong","text":"Syntaxcheck","ref":""},{"kind":"text","text":". Er liest die Konfiguration ein und versucht auch, referenzierte Dateien zu \u00f6ffnen. Damit lassen sich Schreibfehler, ung\u00fcltige Direktiven und Probleme in Include-Dateien vor einem Reload erkennen. Der Check beweist jedoch nicht, dass der eingetragene DNS-Server erreichbar ist, den erwarteten Namen kennt oder das Backend hinter einer aufgel\u00f6sten Adresse Verbindungen annimmt.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"code","language":"text","code":"nginx -t\nnginx -s reload","source_ids":["S4"]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fchre den Reload erst nach erfolgreicher Pr\u00fcfung aus. ","ref":""},{"kind":"code","text":"nginx -s reload","ref":""},{"kind":"text","text":" veranlasst NGINX, neue Worker mit der neuen Konfiguration zu starten und alte Worker kontrolliert zu beenden. Abh\u00e4ngig vom installierten Paket und Betriebssystem kann stattdessen der dort vorgesehene Service-Manager den Reload ausl\u00f6sen. Verwende daf\u00fcr den dokumentierten Betriebsweg der Installation, statt Befehle aus einer fremden Umgebung zu \u00fcbernehmen.","ref":""},{"kind":"citation","text":"","ref":"S4"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Plane anschlie\u00dfend eine fachliche Pr\u00fcfung im vorgesehenen \u00c4nderungsfenster. Vergleiche die erwartete DNS-TTL mit dem Zeitpunkt, ab dem eine neue Backend-Adresse genutzt werden soll, und pr\u00fcfe die Erreichbarkeit des Dienstes \u00fcber die tats\u00e4chlich erlaubte IP-Familie. Dokumentiere au\u00dferdem Resolver-Adresse, gew\u00e4hlten Scope und ein m\u00f6gliches ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":"-Override. So l\u00e4sst sich bei einer St\u00f6rung unterscheiden, ob DNS, Routing oder die Anwendung die Ursache ist.","ref":""},{"kind":"citation","text":"","ref":"S1"}]}]},{"id":"resolver-fehler-eingrenzen","heading":"Typische Resolver-Fehler systematisch eingrenzen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Beginne die Fehlersuche beim Zielausdruck in ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":". Enth\u00e4lt er eine Variable, muss NGINX den darin enthaltenen Hostnamen zur Laufzeit aufl\u00f6sen, sofern dieser nicht zu einer definierten Upstream-Gruppe geh\u00f6rt. Die Meldung ","ref":""},{"kind":"code","text":"no resolver defined","ref":""},{"kind":"text","text":" weist daher zun\u00e4chst auf eine fehlende oder im wirksamen Kontext nicht sichtbare ","ref":""},{"kind":"strong","text":"Resolver-Konfiguration","ref":""},{"kind":"text","text":" hin. Erg\u00e4nze einen vertrauensw\u00fcrdigen Nameserver im passenden Kontext, statt den Hostnamen vorschnell durch eine feste IP zu ersetzen.","ref":""},{"kind":"citation","text":"","ref":"S3"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ist ein Resolver konfiguriert, pr\u00fcfst du als N\u00e4chstes dessen Adresse, Netzweg und Zust\u00e4ndigkeit f\u00fcr die verwendete Zone. Ein \u00f6ffentlicher Resolver kann interne Namen nicht kennen; ein nicht erreichbarer Resolver erzeugt dagegen Aufl\u00f6sungs-Timeouts. Kontrolliere au\u00dferdem, ob die Direktive durch eine spezifischere Einstellung \u00fcberschrieben wird. NGINX verwendet nur die ausdr\u00fccklich angegebenen Nameserver, nicht automatisch s\u00e4mtliche Einstellungen aus ","ref":""},{"kind":"code","text":"\/etc\/resolv.conf","ref":""},{"kind":"text","text":".","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bleibt nach einem DNS-Wechsel eine alte Zieladresse aktiv, kontrolliere die Antwort-TTL und ein gesetztes ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":". Ein langer Override ersetzt die TTL der DNS-Antwort und kann die \u00dcbernahme einer \u00c4nderung entsprechend verz\u00f6gern. Die zul\u00e4ssige Korrektur ist keine pauschal m\u00f6glichst kurze Dauer, sondern ein Wert, der zum \u00c4nderungsfenster und zur Belastbarkeit der DNS-Infrastruktur passt; oft ist das Weglassen von ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" die sauberere L\u00f6sung.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Bei Verbindungsproblemen nach erfolgreicher Aufl\u00f6sung trennst du DNS von der Backend-Verbindung. Pr\u00fcfe, ob A- und AAAA-Antworten vorliegen und ob das Ziel \u00fcber IPv6 tats\u00e4chlich geroutet und erreichbar ist. ","ref":""},{"kind":"code","text":"ipv6=off","ref":""},{"kind":"text","text":" ist nur f\u00fcr einen nachweislich IPv4-only betriebenen Architekturfall geeignet. Ein DNS-Timeout betrifft die Namensaufl\u00f6sung; ein Verbindungsfehler zur bereits bekannten IP verweist dagegen auf Routing, Firewall, Port oder Anwendung.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"F\u00fcr dynamische Upstreams m\u00fcssen au\u00dferdem Versionsstand, Shared-Memory-Zone und ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" zusammenpassen. Die hierf\u00fcr dokumentierte Open-Source-Unterst\u00fctzung gilt ab NGINX 1.27.3; \u00e4ltere Installationen d\u00fcrfen nicht als gleichwertig behandelt werden. ","ref":""},{"kind":"code","text":"status_zone","ref":""},{"kind":"text","text":" und API-basierte Resolver-Statistiken sind zudem keine allgemeine Monitoring-L\u00f6sung f\u00fcr NGINX Open Source, da die genannten Funktionen kommerziellen Umfang betreffen.","ref":""},{"kind":"citation","text":"","ref":"S2"}]}]},{"id":"betriebsentscheidung","heading":"Resolver-Strategie f\u00fcr den Betrieb w\u00e4hlen","blocks":[{"type":"paragraph","runs":[{"kind":"text","text":"Die passende Strategie beginnt nicht mit einem pauschalen Cache-Wert, sondern mit DNS-Hoheit und \u00c4nderungsrate. Kann dein Team die autoritative Zone pflegen und bilden deren TTLs das Deployment-Fenster realistisch ab, ist eine ","ref":""},{"kind":"strong","text":"TTL-gesteuerte Aufl\u00f6sung","ref":""},{"kind":"text","text":" ohne ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" meist der nachvollziehbarste Ausgangspunkt. DNS bleibt dann die ma\u00dfgebliche Quelle daf\u00fcr, wie lange eine Antwort verwendet wird.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Ein bewusst gesetztes ","ref":""},{"kind":"code","text":"valid","ref":""},{"kind":"text","text":" kommt infrage, wenn du die TTL nicht beeinflussen kannst und eine abweichende Cache-Dauer betrieblich begr\u00fcnden kannst. Halte dabei fest, welche Ausfallfolge akzeptabel ist: Ein l\u00e4ngerer Wert senkt m\u00f6gliche DNS-Abfragen, kann aber nach einem Umzug auf eine nicht mehr passende Adresse zeigen. Er ist weder eine Obergrenze f\u00fcr die DNS-TTL noch ein allgemeiner Performance-Schalter.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"W\u00e4hle das NGINX-Muster danach anhand der Routing-Struktur. Ein variabler ","ref":""},{"kind":"code","text":"proxy_pass","ref":""},{"kind":"text","text":" eignet sich, wenn das Ziel pro Anfrage oder Konfiguration zur Laufzeit bestimmt wird; daf\u00fcr ist ein Resolver im passenden Scope erforderlich. F\u00fcr eine benannte Backend-Gruppe mit DNS-basierten Adress\u00e4nderungen ist ein Upstream mit ","ref":""},{"kind":"code","text":"zone","ref":""},{"kind":"text","text":" und ","ref":""},{"kind":"code","text":"resolve","ref":""},{"kind":"text","text":" klarer, sofern NGINX Open Source 1.27.3 oder neuer tats\u00e4chlich verf\u00fcgbar ist.","ref":""},{"kind":"citation","text":"","ref":"S2"}]},{"type":"paragraph","runs":[{"kind":"text","text":"Erst anschlie\u00dfend bestimmst du ","ref":""},{"kind":"strong","text":"Timeouts und IP-Familien","ref":""},{"kind":"text","text":". Der Resolver-Timeout muss zu Client- und Upstream-Timeouts passen, damit eine ausbleibende DNS-Antwort Fehler nicht unverh\u00e4ltnism\u00e4\u00dfig verz\u00f6gert. IPv4 oder IPv6 schaltest du nur entsprechend der Netzarchitektur frei. Verwende ausschlie\u00dflich abgesicherte Resolver, die interne Zonen zuverl\u00e4ssig beantworten k\u00f6nnen.","ref":""},{"kind":"citation","text":"","ref":"S1"}]},{"type":"paragraph","runs":[{"kind":"text","text":"DNS-Aufl\u00f6sung und Upstream-Keepalive l\u00f6sen unterschiedliche Aufgaben. Der Resolver entscheidet, welche Backend-Adresse NGINX verwenden kann; Keepalive h\u00e4lt bereits aufgebaute, inaktive Backend-Verbindungen zur Wiederverwendung vor. Eine \u00c4nderung an der Verbindungswiederverwendung ersetzt daher weder TTL-Planung noch Resolver-Pr\u00fcfung. F\u00fcr die Dimensionierung dieser Verbindungsebene erg\u00e4nzt der Beitrag zu ","ref":""},{"kind":"internal_link","text":"NGINX Upstream Keepalive","ref":"I2"},{"kind":"text","text":" die Resolver-Strategie.","ref":""}]}]}]},"_wh_make_word_report":{"words":2328,"min":2000,"max":3000,"target":2500,"ok":true,"missing":0,"excess":0,"lead_words":52,"section_words":{"resolver-grundlagen":207,"cache-arten-abgrenzen":204,"laufzeitauflosung-und-versionen":231,"ttl-und-valid-planen":359,"variabler-proxy-pass":235,"dynamische-upstreams":245,"sicher-ausrollen":246,"resolver-fehler-eingrenzen":288,"betriebsentscheidung":261}},"_wh_make_review":{"verdict":"pass","issues":[],"checked_source_ids":["S1","S2","S3","S4"],"summary":"Der Artikel ist fachlich plausibel und wird durch die gepr\u00fcften offiziellen NGINX-Quellen gest\u00fctzt. Die Trennung von DNS-Resolver-Cache, proxy_cache und Open File Cache ist korrekt. Ebenso stimmen die Aussagen zu DNS-TTL und valid, resolver_timeout, IPv4-\/IPv6-Aufl\u00f6sung, variablen proxy_pass-Zielen sowie den zul\u00e4ssigen Kontexten der resolver-Direktive. Die Versionsabgrenzung f\u00fcr dynamische Open-Source-Upstreams ist sauber: server \u2026 resolve war vor NGINX 1.27.3 kommerziell beschr\u00e4nkt, und resolver im upstream-Kontext ist seit 1.27.3 dokumentiert. Die Shared-Memory-Zone wird nicht als DNS-Datenpfad oder Cache-Laufzeit missverstanden. Konfigurationsbeispiele, Tabelle, Versionshinweis, Befehle und Reload-Beschreibung sind konsistent. Die Dokumentationsadresse 192.0.2.53 wird ausdr\u00fccklich nicht als produktiver Resolver ausgegeben. Bildkonzepte zeigen keine irref\u00fchrende Netzwerktopologie, und der Artikel behauptet keine eigenen Messungen oder praktischen Tests."},"_wh_make_review_doc_hash":"7409c5542ad659234dbfa2ed6abe78c26f8e117847396c732fd01ae84e63d022","_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"inline_featured_image":null,"_yoast_wpseo_linkdex":null,"_eael_widget_elements":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_trp_translated_slug_en_us":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_wh_make_writer_raw":null,"_wh_make_design_backup_204":null,"_wp_desired_post_slug":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":"1","_edit_lock":"1790104142:1","_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"97","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":"68","rank_math_contentai_score":null,"ilj_limitincominglinks":"","ilj_maxincominglinks":"1","ilj_limitoutgoinglinks":"","ilj_maxoutgoinglinks":"1","ilj_limitlinksperparagraph":"","ilj_linksperparagraph":"1","ilj_blacklistdefinition":[],"ilj_linkdefinition":[],"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"NGINX Resolver Cache","rank_math_og_content_image":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"21661","_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":"NGINX Resolver korrekt einrichten: DNS-TTL, valid, resolver_timeout und dynamische Upstreams f\u00fcr Reverse Proxies verst\u00e4ndlich planen.","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/posts\/21658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/comments?post=21658"}],"version-history":[{"count":3,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/posts\/21658\/revisions"}],"predecessor-version":[{"id":21664,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/posts\/21658\/revisions\/21664"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/media\/21661"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/media?parent=21658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/categories?post=21658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/ja\/wp-json\/wp\/v2\/tags?post=21658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}