agregase config para reverse proxy
This commit is contained in:
parent
6f657250fd
commit
18443b4f86
10
README.md
10
README.md
@ -6,12 +6,18 @@ Devolve un link para descargalo.
|
|||||||
|
|
||||||
## Execución
|
## Execución
|
||||||
```
|
```
|
||||||
UPLOADS="/tmp/uploads/" BASE_URL="http://127.0.0.1" PORT=4000 cargo run
|
UPLOADS="/tmp/uploads/" BASE_URL="http://127.0.0.1" PORT=4000 RPROXY=true cargo run
|
||||||
```
|
```
|
||||||
As variables de entorno UPLOADS, BASE_URL e PORT son opcionais tendo como valores por defecto:
|
As variables de entorno UPLOADS, BASE_URL, PORT e RPROXY son opcionais,
|
||||||
|
tendo como valores por defecto:
|
||||||
- UPLOADS = "uploads/"
|
- UPLOADS = "uploads/"
|
||||||
- BASE_URL = "http://127.0.0.1"
|
- BASE_URL = "http://127.0.0.1"
|
||||||
- PORT = 3000
|
- PORT = 3000
|
||||||
|
- RPROXY = false
|
||||||
|
|
||||||
|
A variable RPROXY convén poñela a "true" si o demonio está executándose detráis de
|
||||||
|
un "reverse proxy" xa que o PORT non se usará externamente. Así os enlaces mostrarárse
|
||||||
|
sin o porto.
|
||||||
|
|
||||||
## Funcionamento
|
## Funcionamento
|
||||||
```
|
```
|
||||||
|
27
src/lib.rs
27
src/lib.rs
@ -27,13 +27,34 @@ pub fn env_listen_port() -> u16 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// le a variable de entorno BASE_URL para configurar o porto de escoita
|
// le a variable de entorno RPROXY para indicar si está detráis dun "reverse proxy"
|
||||||
|
// e así mostrar na páxina principal o porto ou non
|
||||||
|
// por defecto: false
|
||||||
|
pub fn env_rproxy() -> bool {
|
||||||
|
match env::var_os("RPROXY") {
|
||||||
|
Some(_) => true,
|
||||||
|
None => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// le a variable de entorno BASE_URL para configurar a url a mostrar nos enlaces
|
||||||
|
// dependendo de si está detráis dun "reverse proxy" ou non
|
||||||
// por defecto: http://localhost:3000
|
// por defecto: http://localhost:3000
|
||||||
pub fn env_base_url() -> String {
|
pub fn env_base_url() -> String {
|
||||||
let port = env_listen_port();
|
let port = env_listen_port();
|
||||||
|
|
||||||
match env::var_os("BASE_URL") {
|
match env::var_os("BASE_URL") {
|
||||||
Some(val) => format!("{}:{}", val.into_string().unwrap(), port),
|
Some(val) => {
|
||||||
None => format!("{}:{}", "http://localhost", port),
|
if env_rproxy() {
|
||||||
|
format!("{}", val.into_string().unwrap())
|
||||||
|
} else {
|
||||||
|
format!("{}:{}", val.into_string().unwrap(), port)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
None => {
|
||||||
|
// si non se especifica unha BASE_URL enténdese que se está levantando
|
||||||
|
// en local e non influe a variable RPROXY
|
||||||
|
format!("{}:{}", "http://localhost", port)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user