31 lines
612 B
Markdown
31 lines
612 B
Markdown
# ngx
|
|
|
|
Opinionated nginx config generation for Deno.
|
|
|
|
## Example
|
|
|
|
Generate an nginx configuration to permanently redirect some routes from a.com to their new locations at b.com:
|
|
|
|
```typescript
|
|
import ngx from "jsr:@char/ngx@0.1";
|
|
|
|
const redirects = {
|
|
"/a": "https://b.com/new-a",
|
|
"/b": "https://b.com/b-v2",
|
|
};
|
|
|
|
const config = ngx("server", [
|
|
[
|
|
"server_name a.com",
|
|
...ngx.listen(),
|
|
...ngx.letsEncrypt("a.com"),
|
|
],
|
|
Object.entries(redirects).map(([path, uri]) =>
|
|
ngx(`location = ${path}`, [
|
|
`return 301 ${uri}`
|
|
])
|
|
)
|
|
])
|
|
|
|
if (import.meta.main) console.log(config.build());
|
|
```
|