Skip to content

Instantly share code, notes, and snippets.

@ryanburnette
Last active October 17, 2025 21:09
Show Gist options
  • Save ryanburnette/d13575c9ced201e73f8169d3a793c1a3 to your computer and use it in GitHub Desktop.
Save ryanburnette/d13575c9ced201e73f8169d3a793c1a3 to your computer and use it in GitHub Desktop.

Revisions

  1. ryanburnette revised this gist Aug 4, 2023. 1 changed file with 21 additions and 9 deletions.
    30 changes: 21 additions & 9 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,29 @@
    (cors) {
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    header @origin{args.0} Access-Control-Allow-Headers "content-type, x-requested-with"
    header @origin{args.0} Vary Origin
    @cors_preflight{args.0} method OPTIONS
    @cors{args.0} header Origin {args.0}

    handle @cors_preflight{args.0} {
    header {
    Access-Control-Allow-Origin "{args.0}"
    Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE, OPTIONS"
    Access-Control-Allow-Headers *
    Access-Control-Max-Age "3600"
    defer
    }
    respond "" 204
    }

    handle @cors{args.0} {
    header {
    Access-Control-Allow-Origin "{args.0}"
    Access-Control-Expose-Headers *
    defer
    }
    }
    }
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    @options {
    method OPTIONS
    }
    respond @options 204
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    }
  2. ryanburnette revised this gist Oct 27, 2022. No changes.
  3. ryanburnette revised this gist Oct 27, 2022. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,7 @@
    (cors) {
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    header @origin{args.0} Access-Control-Allow-Headers "content-type, x-requested-with"
    header @origin{args.0} Vary Origin
    }
    myawesomewebsite.com {
  4. ryanburnette revised this gist Mar 29, 2022. 1 changed file with 11 additions and 11 deletions.
    22 changes: 11 additions & 11 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -1,16 +1,16 @@
    (cors) {
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    header @origin{args.0} Vary Origin
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    header @origin{args.0} Vary Origin
    }
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    @options {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    @options {
    method OPTIONS
    }
    respond @options 204
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    }
    respond @options 204
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    }
  5. ryanburnette revised this gist Mar 29, 2022. 1 changed file with 5 additions and 8 deletions.
    13 changes: 5 additions & 8 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -1,19 +1,16 @@
    (cors) {
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    }
    (options) {
    @options {
    method OPTIONS
    }
    respond @options 204
    header @origin{args.0} Vary Origin
    }
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    header Access-Control-Allow-Headers "*"
    @options {
    method OPTIONS
    }
    respond @options 204
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    import options
    }
  6. ryanburnette revised this gist Mar 29, 2022. 1 changed file with 7 additions and 0 deletions.
    7 changes: 7 additions & 0 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -2,11 +2,18 @@
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    }
    (options) {
    @options {
    method OPTIONS
    }
    respond @options 204
    }
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    header Access-Control-Allow-Headers "*"
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    import options
    }
  7. ryanburnette revised this gist Dec 1, 2020. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -5,6 +5,8 @@
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    header Access-Control-Allow-Methods "POST, GET, OPTIONS"
    header Access-Control-Allow-Headers "*"
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    }
  8. ryanburnette revised this gist Jun 9, 2020. 1 changed file with 9 additions and 12 deletions.
    21 changes: 9 additions & 12 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,10 @@
    localhost:3000 {
    @origin1 {
    header Origin origin1.com
    }
    header @origin1 Access-Control-Allow-Origin "origin1.com"
    header @origin1 Access-Control-Request-Method GET

    @origin2 {
    header Origin origin1.com
    }
    header @origin2 Access-Control-Allow-Origin "origin2.com"
    header @origin2 Access-Control-Request-Method GET
    (cors) {
    @origin{args.0} header Origin {args.0}
    header @origin{args.0} Access-Control-Allow-Origin "{args.0}"
    }
    myawesomewebsite.com {
    root * /srv/public/
    file_server
    import cors https://member.myawesomewebsite.com
    import cors https://customer.myawesomewebsite.com
    }
  9. ryanburnette created this gist Jun 8, 2020.
    13 changes: 13 additions & 0 deletions Caddyfile
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    localhost:3000 {
    @origin1 {
    header Origin origin1.com
    }
    header @origin1 Access-Control-Allow-Origin "origin1.com"
    header @origin1 Access-Control-Request-Method GET

    @origin2 {
    header Origin origin1.com
    }
    header @origin2 Access-Control-Allow-Origin "origin2.com"
    header @origin2 Access-Control-Request-Method GET
    }