caddyserver / caddy

Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
https://caddyserver.com
Apache License 2.0
55.79k stars 3.93k forks source link

Feature request: Nested Caddyfile with tls ca #6155

Closed NetOpWibby closed 4 months ago

NetOpWibby commented 4 months ago

1. Environment

1a. Operating system and version

1b. Caddy version

1c. Go version

2. Description

2a. What happens

The tls ca block doesn't work in nested Caddy blocks.

Explicitly setting my cert and key for tls works no problem, with being nested.

3. Tutorial

Caddyfile

import sld/*

sld/file

domain.name {
  encode gzip

  file_server {
    browse /etc/caddy/template/park.html
  }

  tls user@domain.name {
    reuse_private_keys
    ca https://acme.htools.work/directory
  }
}
mohammed90 commented 4 months ago

import works in the Caddyfile, which is where CoreDNS gets it from. To understand what's going on, please share further details.

I've attached a template below that will help make this easier and faster! This will require some effort on your part -- please understand that we will be dedicating time to fix the bug you are reporting if you can just help us understand it and reproduce it easily.

This template will ask for some information you've already provided; that's OK, just fill it out the best you can. :+1: I've also included some helpful tips below the template. Feel free to let me know if you have any questions!

Thank you again for your report, we look forward to resolving it!

Template

## 1. Environment

### 1a. Operating system and version

```
paste here
```

### 1b. Caddy version (run `caddy version` or paste commit SHA)

```
paste here
```

### 1c. Go version (if building Caddy from source; run `go version`)

```
paste here
```

## 2. Description

### 2a. What happens (briefly explain what is wrong)

### 2b. Why it's a bug (if it's not obvious)

### 2c. Log output

```
paste terminal output or logs here
```

### 2d. Workaround(s)

### 2e. Relevant links

## 3. Tutorial (minimal steps to reproduce the bug)

Helpful tips

  1. Environment: Please fill out your OS and Caddy versions, even if you don't think they are relevant. (They are always relevant.) If you built Caddy from source, provide the commit SHA and specify your exact Go version.

  2. Description: Describe at a high level what the bug is. What happens? Why is it a bug? Not all bugs are obvious, so convince readers that it's actually a bug.

    • 2c) Log output: Paste terminal output and/or complete logs in a code block. DO NOT REDACT INFORMATION except for credentials.
    • 2d) Workaround: What are you doing to work around the problem in the meantime? This can help others who encounter the same problem, until we implement a fix.
    • 2e) Relevant links: Please link to any related issues, pull requests, docs, and/or discussion. This can add crucial context to your report.
  3. Tutorial: What are the minimum required specific steps someone needs to take in order to experience the same bug? Your goal here is to make sure that anyone else can have the same experience with the bug as you do. You are writing a tutorial, so make sure to carry it out yourself before posting it. Please:

    • Start with an empty config. Add only the lines/parameters that are absolutely required to reproduce the bug.
    • Do not run Caddy inside containers.
    • Run Caddy manually in your terminal; do not use systemd or other init systems.
    • If making HTTP requests, avoid web browsers. Use a simpler HTTP client instead, like curl.
    • Do not redact any information from your config (except credentials). Domain names are public knowledge and often necessary for quick resolution of an issue!
    • Note that ignoring this advice may result in delays, or even in your issue being closed. 😞 Only actionable issues are kept open, and if there is not enough information or clarity to reproduce the bug, then the report is not actionable.

Example of a tutorial:

Create a config file: ``` { ... } ``` Open terminal and run Caddy: ``` $ caddy ... ``` Make an HTTP request: ``` $ curl ... ``` Notice that the result is ___ but it should be ___.
NetOpWibby commented 4 months ago

Thanks @mohammed90, I've updated my OP.

mohammed90 commented 4 months ago

I'm sorry, but that still doesn't help. You say

doesn't work in nested Caddy blocks.

What do you mean by "doesn't work"? Are you seeing any error messages?

NetOpWibby commented 4 months ago

@mohammed90 No error messages and no warnings when running service caddy status. In the browser, my site doesn't resolve, I just see a "cannot connect to page" screen.

mohammed90 commented 4 months ago

I see. Then the import feature works fine. There are no missing features.

Your issue could be:

This looks more like a question about how to use Caddy rather than a bug report or feature request. Since this issue tracker is reserved for actionable development items, I'm going to close this, but we have a community forum where more people will be exposed to your question, including people who may be more expert or experienced with the specific question you're facing. I hope you'll ask your question there, and thanks for understanding!