Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
N
nginx-proxy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
nginx-proxy
Commits
7ec69b9c
Commit
7ec69b9c
authored
Mar 27, 2024
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
support upstream extra
parent
0af4cec1
Pipeline
#26200
passed with stages
in 14 minutes and 54 seconds
Changes
2
Pipelines
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
4 deletions
+8
-4
src/site.ts
src/site.ts
+5
-4
views/nginx.conf.mustache
views/nginx.conf.mustache
+3
-0
No files found.
src/site.ts
View file @
7ec69b9c
...
@@ -90,17 +90,18 @@ export interface RenderData {
...
@@ -90,17 +90,18 @@ export interface RenderData {
export
interface
Upstream
{
export
interface
Upstream
{
name
:
string
;
name
:
string
;
servers
:
string
[];
servers
:
string
[];
extra
?:
string
[];
}
}
const
upstreams
:
Upstream
[]
=
[];
const
upstreams
:
Upstream
[]
=
[];
function
createUpstream
(
domain
:
string
,
urlInputs
:
string
[])
{
function
createUpstream
(
domain
:
string
,
urlInputs
:
string
[]
,
extra
:
string
[]
)
{
const
urls
=
urlInputs
.
map
((
url
)
=>
new
URL
(
url
));
const
urls
=
urlInputs
.
map
((
url
)
=>
new
URL
(
url
));
if
(
urls
.
length
===
1
)
{
if
(
urls
.
length
===
1
)
{
return
urlInputs
[
0
];
return
urlInputs
[
0
];
}
}
const
name
=
`upstream_
${
domain
.
replace
(
/
[^
a-zA-Z0-9
]
/g
,
'
_
'
)}
`
;
const
name
=
`upstream_
${
domain
.
replace
(
/
[^
a-zA-Z0-9
]
/g
,
'
_
'
)}
`
;
upstreams
.
push
({
name
,
servers
:
urls
.
map
((
url
)
=>
url
.
host
)
});
upstreams
.
push
({
name
,
servers
:
urls
.
map
((
url
)
=>
`
${
url
.
host
+
(
url
.
hash
?
url
.
hash
.
replace
(
/
[
#&
]
/g
,
'
'
)
:
''
)}
`
),
extra
});
return
`
${
urls
[
0
].
protocol
}
//
${
name
}${
urlInputs
[
0
].
slice
(
urls
[
0
].
origin
.
length
)}
`
;
return
`
${
urls
[
0
].
protocol
}
//
${
name
}${
urlInputs
[
0
].
slice
(
urls
[
0
].
origin
.
length
)
.
replace
(
urls
[
0
].
hash
,
''
)
}
`
;
}
}
async
function
getSiteData
(
async
function
getSiteData
(
...
@@ -166,7 +167,7 @@ async function getSiteData(
...
@@ -166,7 +167,7 @@ async function getSiteData(
const
sni
=
parser
.
getString
(
'
SNI
'
);
const
sni
=
parser
.
getString
(
'
SNI
'
);
specificRenderData
=
{
specificRenderData
=
{
proxy
:
true
,
proxy
:
true
,
upstream
:
createUpstream
(
domain
,
targetUrlInputs
),
upstream
:
createUpstream
(
domain
,
targetUrlInputs
,
parser
.
getArray
(
'
UPSTREAM_EXTRA
'
)
),
noVerifyCerts
:
parser
.
getBoolean
(
'
NO_VERIFY_CERTS
'
),
noVerifyCerts
:
parser
.
getBoolean
(
'
NO_VERIFY_CERTS
'
),
noBuffer
:
parser
.
getBoolean
(
'
NO_BUFFER
'
),
noBuffer
:
parser
.
getBoolean
(
'
NO_BUFFER
'
),
sni
:
sni
===
'
1
'
,
sni
:
sni
===
'
1
'
,
...
...
views/nginx.conf.mustache
View file @
7ec69b9c
...
@@ -149,6 +149,9 @@ http {
...
@@ -149,6 +149,9 @@ http {
{{#
servers
}}
{{#
servers
}}
server
{{
.
}}
;
server
{{
.
}}
;
{{/
servers
}}
{{/
servers
}}
{{#
extra
}}
{{
.
}}
{{/
extra
}}
}
}
{{/
upstreams
}}
{{/
upstreams
}}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment