diff options
| author | crupest <crupest@outlook.com> | 2022-11-27 11:18:47 +0800 | 
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-11-27 11:18:47 +0800 | 
| commit | 3be4d089dca831ec5e79eb457100a967b8a20398 (patch) | |
| tree | a27aba4a7bbac9181ecb2e71994f8d3411b8975e /template | |
| parent | b0a7c606af768b190d5541e407803bd4a30b1dac (diff) | |
| download | crupest-3be4d089dca831ec5e79eb457100a967b8a20398.tar.gz crupest-3be4d089dca831ec5e79eb457100a967b8a20398.tar.bz2 crupest-3be4d089dca831ec5e79eb457100a967b8a20398.zip  | |
Nginx add redirect.
Diffstat (limited to 'template')
| -rw-r--r-- | template/nginx/redirect.conf.template | 20 | ||||
| -rw-r--r-- | template/nginx/server.json | 5 | ||||
| -rw-r--r-- | template/nginx/server.schema.json | 47 | ||||
| -rw-r--r-- | template/nginx/server.ts | 12 | 
4 files changed, 71 insertions, 13 deletions
diff --git a/template/nginx/redirect.conf.template b/template/nginx/redirect.conf.template new file mode 100644 index 0000000..e0323ea --- /dev/null +++ b/template/nginx/redirect.conf.template @@ -0,0 +1,20 @@ +server { +    listen 443 ssl http2; +    listen [::]:443 ssl http2; +    server_name ${CRUPEST_NGINX_SUBDOMAIN}.${CRUPEST_DOMAIN}; + +    return 301 ${CRUPEST_NGINX_URL}$request_uri; + +} + +server { +    listen 80; +    listen [::]:80; +    server_name ${CRUPEST_NGINX_SUBDOMAIN}.${CRUPEST_DOMAIN}; + +    return 301 ${CRUPEST_NGINX_URL}$request_uri; + +    location /.well-known/acme-challenge { +        root /srv/acme; +    } +} diff --git a/template/nginx/server.json b/template/nginx/server.json index 56f3845..dc3904d 100644 --- a/template/nginx/server.json +++ b/template/nginx/server.json @@ -26,6 +26,11 @@              }          },          { +            "type": "redirect", +            "subdomain": "github", +            "url": "https://github.com/crupest" +        }, +        {              "type": "cert-only",              "subdomain": "mail"          } diff --git a/template/nginx/server.schema.json b/template/nginx/server.schema.json index 536fead..5923b0a 100644 --- a/template/nginx/server.schema.json +++ b/template/nginx/server.schema.json @@ -15,6 +15,23 @@              },              "type": "object"          }, +        "RedirectSite": { +            "properties": { +                "subdomain": { +                    "type": "string" +                }, +                "type": { +                    "enum": [ +                        "redirect" +                    ], +                    "type": "string" +                }, +                "url": { +                    "type": "string" +                } +            }, +            "type": "object" +        },          "ReverseProxySite": {              "properties": {                  "subdomain": { @@ -40,6 +57,22 @@              },              "type": "object"          }, +        "Site": { +            "anyOf": [ +                { +                    "$ref": "#/definitions/ReverseProxySite" +                }, +                { +                    "$ref": "#/definitions/StaticFileSite" +                }, +                { +                    "$ref": "#/definitions/RedirectSite" +                }, +                { +                    "$ref": "#/definitions/CertOnlySite" +                } +            ] +        },          "StaticFileSite": {              "properties": {                  "root": { @@ -61,20 +94,10 @@      "properties": {          "sites": {              "items": { -                "anyOf": [ -                    { -                        "$ref": "#/definitions/ReverseProxySite" -                    }, -                    { -                        "$ref": "#/definitions/StaticFileSite" -                    }, -                    { -                        "$ref": "#/definitions/CertOnlySite" -                    } -                ] +                "$ref": "#/definitions/Site"              },              "type": "array"          }      },      "type": "object" -}
\ No newline at end of file +} diff --git a/template/nginx/server.ts b/template/nginx/server.ts index 6a5d24d..0fad6f5 100644 --- a/template/nginx/server.ts +++ b/template/nginx/server.ts @@ -15,12 +15,22 @@ export interface StaticFileSite {    root: string;  } +export interface RedirectSite { +  type: "redirect"; +  subdomain: string; +  url: string; +} +  export interface CertOnlySite {    type: "cert-only";    subdomain: string;  } -export type Site = ReverseProxySite | StaticFileSite | CertOnlySite; +export type Site = +  | ReverseProxySite +  | StaticFileSite +  | RedirectSite +  | CertOnlySite;  export type Sites = Site[];  | 
