Skip to content

Commit 4bf1f43

Browse files
authored
Merge pull request #8 from j4ys0n/nginx-config
fix default template & interpolation
2 parents 8bd4cd9 + aa6c3f5 commit 4bf1f43

File tree

4 files changed

+24
-13
lines changed

4 files changed

+24
-13
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "llm-proxy",
3-
"version": "1.1.4",
3+
"version": "1.1.5",
44
"description": "Manages Nginx for reverse proxy to multiple LLMs, with TLS & Bearer Auth tokens",
55
"main": "dist/index.js",
66
"scripts": {

src/controllers/nginx.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,14 @@ export class NginxController {
3434
}
3535

3636
private async updateConfig(req: Request, res: Response): Promise<void> {
37-
const { success, message } = await this.nginxManager.updateConfig(req.body)
38-
const status = success ? 200 : 500
39-
res.status(status).json({ success, message })
37+
if (req.body != null && req.body.config != null) {
38+
const newConfig = req.body.config
39+
const { success, message } = await this.nginxManager.updateConfig(newConfig)
40+
const status = success ? 200 : 500
41+
res.status(status).json({ success, message })
42+
} else {
43+
res.status(400).json({ success: false, message: 'Invalid request body' })
44+
}
4045
}
4146

4247
private async getConfig(req: Request, res: Response): Promise<void> {
@@ -55,11 +60,16 @@ export class NginxController {
5560
}
5661

5762
private async writeDefaultConfig(req: Request, res: Response): Promise<void> {
58-
const { success, message } = await this.nginxManager.writeDefaultTemplate()
59-
if (success) {
60-
res.json({ success, message: 'Default config written successfully' })
63+
if (req.body != null && req.body.domain != null) {
64+
const domain = req.body.domain
65+
const { success, message } = await this.nginxManager.writeDefaultTemplate(domain)
66+
if (success) {
67+
res.json({ success, message: 'Default config written successfully' })
68+
} else {
69+
res.status(500).json({ success, message })
70+
}
6171
} else {
62-
res.status(500).json({ success, message })
72+
res.status(400).json({ success: false, message: 'Invalid request body' })
6373
}
6474
}
6575

src/static/nginx-server-template.conf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ server {
44
add_header 'Access-Control-Allow-Origin' '*';
55
add_header 'Add-Control-Allow-Methods' 'GET, POST';
66

7-
server_name {{ domainName }};
7+
server_name {{domainName}};
88
server_tokens off;
99

1010
real_ip_header X-Forwarded-For;
1111

12-
ssl_certificate /etc/letsencrypt/live/{{ domainName }}/fullchain.pem;
13-
ssl_certificate_key /etc/letsencrypt/live/{{ domainName }}/privkey.pem;
12+
ssl_certificate /etc/letsencrypt/live/{{domainName}}/fullchain.pem;
13+
ssl_certificate_key /etc/letsencrypt/live/{{domainName}}/privkey.pem;
1414
# include /etc/letsencrypt/options-ssl-nginx.conf;
1515
# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
1616

src/utils/nginx.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@ export class NginxManager {
6262
return this.putFile(this.configPath, newConfig)
6363
}
6464

65-
async writeDefaultTemplate(): Promise<NginxResponse> {
65+
async writeDefaultTemplate(domain: string): Promise<NginxResponse> {
6666
const templateContent = await readFile(CONFIG_TEMPLATE_PATH, 'utf-8')
67-
return this.putFile(this.configPath, templateContent)
67+
const content = templateContent.replace(/{{domainName}}/g, domain)
68+
return this.putFile(this.configPath, content)
6869
}
6970

7071
async getConfig(): Promise<NginxConfigResponse> {

0 commit comments

Comments
 (0)