SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Назад

Шаблоны caddy.json


Метки: caddy caddy.json

Базовый

{
    "admin": {
        "disabled": false,
        "listen": "0.0.0.0:8000"
    },
    "apps": {
        "http": {
            "http_port": 80,
            "https_port": 443,
            "servers": {
                "default": {
                    "automatic_https": {
                        "disable": true
                    },
                    "listen": [
                        "0.0.0.0:80"
                    ],
                  "routes": []
                }
            }
        }
    },
    "logging": {
        "logs": {}
    }
}

Статический

{
    "apps": {
      "http": {
            "servers": {
              "default": {
                    "routes": [
                        {
                            "handle": [
                                {
                                  "body": "Hello, World!",
                                    "handler": "static_response"
                                }
                            ],
                            "match": [
                                {
                                    "host": [
                                      "specialistoff.net"
                                    ]
                                }
                          ]
                      }
                    ]
                }
            }
        }
    },
}

Обратный прокси

{
  "apps": {
        "http": {
          "servers": {
                "default": {
                  "routes": [
                      {
                            "handle": [
                                {
                                    "upstreams": [
                                        {
                                          "dial": "127.0.0.1:9000"
                                        }
                                    ],
                                    "handler": "reverse_proxy"
                                }
                            ],
                            "match": [
                                {
                                    "host": [
                                      "specialistoff.net"
                                    ]
                                }
                            ]
                        }
                    ]
                }
            }
        }
  }
}

Логирование

{
  "apps": {
        "http": {
          "servers": {
                "default": {
                  "logs": {
                        "default_logger_name": "default"
                    }
                }
            }
        }
    },
    "logging": {
        "logs": {
            "default": {
                "writer": {
                    "output": "stdout"
                },
                "level": "INFO"
            }
        }
    }
}

Балансировка и отказоустойчивость php fastcgi

{
  "apps": {
        "http": {
          "servers": {
                "default": {
                  "routes": [
                      {
                            "handle": [
                                {
                                    "handler": "subroute",
                                    "routes": [
                                        {
                                            "handle": [
                                                {
                                                    "handler": "vars",
                                                    "root": "/app"
                                                }
                                            ]
                                        },
                                        {
                                            "handle": [
                                                {
                                                    "handler": "reverse_proxy",
                                                    "transport": {
                                                        "protocol": "fastcgi",
                                                        "split_path": [
                                                            ".php"
                                                        ],
                                                        "root": "/app/public"
                                                    },
                                                    "load_balancing": {
                                                        "selection_policy": {"policy": "first"},
                                                        "try_duration": "5s",
                                                        "try_interval": "250ms"
                                                    },
                                                    "health_checks": {
                                                        "passive": {
                                                            "fail_duration": "5s",
                                                            "max_fails": 1
                                                        }
                                                    },
                                                    "upstreams": [
                                                        {
                                                          "dial": "backend-blue:9000"
                                                        },
                                                        {
                                                          "dial": "backend-green:9000"
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ],
                            "match": [
                                {
                                    "host": [
                                      "specialistoff.net"
                                    ]
                                }
                            ]
                        }
                    ]
                }
            }
        }
  }
}