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
|
||||
```
|
||||
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/"
|
||||
- BASE_URL = "http://127.0.0.1"
|
||||
- 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
|
||||
```
|
||||
|
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
|
||||
pub fn env_base_url() -> String {
|
||||
let port = env_listen_port();
|
||||
|
||||
match env::var_os("BASE_URL") {
|
||||
Some(val) => format!("{}:{}", val.into_string().unwrap(), port),
|
||||
None => format!("{}:{}", "http://localhost", port),
|
||||
Some(val) => {
|
||||
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