mirror of
https://github.com/pomerium/pomerium.git
synced 2025-07-17 16:48:13 +02:00
proxy: fix connect command in routes portal (#5475)
This commit is contained in:
parent
3043e98fab
commit
6e22b7a19a
3 changed files with 29 additions and 2 deletions
|
@ -36,10 +36,19 @@ func RoutesFromConfigRoutes(routes []*config.Policy) []Route {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
if strings.HasPrefix(fromURL.Scheme, "tcp+") {
|
if strings.HasPrefix(fromURL.Scheme, "tcp+") {
|
||||||
pr.Type = "tcp"
|
pr.Type = "tcp"
|
||||||
pr.ConnectCommand = "pomerium-cli tcp " + fromURL.Host
|
if len(fromURL.Path) > 1 {
|
||||||
|
pr.ConnectCommand = "pomerium-cli tcp " + fromURL.String()
|
||||||
|
} else {
|
||||||
|
pr.ConnectCommand = "pomerium-cli tcp " + fromURL.Host
|
||||||
|
}
|
||||||
} else if strings.HasPrefix(fromURL.Scheme, "udp+") {
|
} else if strings.HasPrefix(fromURL.Scheme, "udp+") {
|
||||||
pr.Type = "udp"
|
pr.Type = "udp"
|
||||||
pr.ConnectCommand = "pomerium-cli udp " + fromURL.Host
|
pr.ConnectCommand = "pomerium-cli udp " + fromURL.Host
|
||||||
|
if len(fromURL.Path) > 1 {
|
||||||
|
pr.ConnectCommand = "pomerium-cli udp " + fromURL.String()
|
||||||
|
} else {
|
||||||
|
pr.ConnectCommand = "pomerium-cli udp " + fromURL.Host
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
pr.Type = "http"
|
pr.Type = "http"
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@ func TestRouteFromConfigRoute(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
to2, err := config.ParseWeightedUrls("tcp://postgres:5432")
|
to2, err := config.ParseWeightedUrls("tcp://postgres:5432")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
to3, err := config.ParseWeightedUrls("tcp://redis:6379")
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
assert.Equal(t, []portal.Route{
|
assert.Equal(t, []portal.Route{
|
||||||
{
|
{
|
||||||
|
@ -47,6 +49,13 @@ func TestRouteFromConfigRoute(t *testing.T) {
|
||||||
From: "udp+https://dns.example.com:53",
|
From: "udp+https://dns.example.com:53",
|
||||||
ConnectCommand: "pomerium-cli udp dns.example.com:53",
|
ConnectCommand: "pomerium-cli udp dns.example.com:53",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
ID: "8544b096d71c5dfe",
|
||||||
|
Name: "redis",
|
||||||
|
Type: "tcp",
|
||||||
|
From: "tcp+https://proxy.corp.example.com:8443/redis.internal.example.com:6379",
|
||||||
|
ConnectCommand: "pomerium-cli tcp tcp+https://proxy.corp.example.com:8443/redis.internal.example.com:6379",
|
||||||
|
},
|
||||||
}, portal.RoutesFromConfigRoutes([]*config.Policy{
|
}, portal.RoutesFromConfigRoutes([]*config.Policy{
|
||||||
{
|
{
|
||||||
From: "https://from.example.com",
|
From: "https://from.example.com",
|
||||||
|
@ -67,5 +76,10 @@ func TestRouteFromConfigRoute(t *testing.T) {
|
||||||
From: "udp+https://dns.example.com:53",
|
From: "udp+https://dns.example.com:53",
|
||||||
To: to2,
|
To: to2,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "redis",
|
||||||
|
From: "tcp+https://proxy.corp.example.com:8443/redis.internal.example.com:6379",
|
||||||
|
To: to3,
|
||||||
|
},
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,7 +76,11 @@ const RouteCard: FC<RouteCardProps> = ({ route }) => {
|
||||||
{route.connect_command && (
|
{route.connect_command && (
|
||||||
<Box
|
<Box
|
||||||
component="span"
|
component="span"
|
||||||
sx={{ fontFamily: '"DM Mono"', fontSize: "12px" }}
|
sx={{
|
||||||
|
fontFamily: '"DM Mono"',
|
||||||
|
fontSize: "12px",
|
||||||
|
wordBreak: "break-all",
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
{route.connect_command}
|
{route.connect_command}
|
||||||
</Box>
|
</Box>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue