Files
proxy-inspector/src/main.rs
2024-03-24 23:54:27 +08:00

71 lines
2.2 KiB
Rust

use log::{info, LevelFilter};
use pingora::{
server::{configuration::Opt, Server},
services::{listening::Service as ListeningService, Service},
};
use pretty_env_logger::env_logger::Builder;
use structopt::StructOpt;
mod app;
mod service;
mod main2;
pub fn main() {
init_logger();
main2::test_main();
panic!("END");
let opt = Some(Opt::from_args());
let mut my_server = Server::new(opt).unwrap();
my_server.bootstrap();
let proxy_service_tcp = service::proxy_service_tcp(
&my_server.configuration,
"0.0.0.0:8800",
vec![],
);
let proxy_service_ssl2 = service::proxy_service_tls(
&my_server.configuration,
"0.0.0.0:4430",
vec![
// HostConfig {
// proxy_addr: "127.0.0.1:4000".to_owned(),
// proxy_tls: false,
// proxy_hostname: "somedomain.com".to_owned(),
// cert_path: format!("{}/keys/some_domain_cert.crt", env!("CARGO_MANIFEST_DIR")),
// key_path: format!("{}/keys/some_domain_key.pem", env!("CARGO_MANIFEST_DIR")),
// },
// HostConfig {
// proxy_addr: "1.1.1.1:443".to_owned(),
// proxy_tls: true,
// proxy_hostname: "one.one.one.one".to_owned(),
// cert_path: format!("{}/keys/one_cert.crt", env!("CARGO_MANIFEST_DIR")),
// key_path: format!("{}/keys/one_key.pem", env!("CARGO_MANIFEST_DIR")),
// },
],
);
let mut prometheus_service_http = ListeningService::prometheus_http_service();
prometheus_service_http.add_tcp("127.0.0.1:6150");
info!("start listen...");
let services: Vec<Box<dyn Service>> = vec![
Box::new(proxy_service_tcp),
Box::new(proxy_service_ssl2),
Box::new(prometheus_service_http),
];
my_server.add_services(services);
my_server.run_forever();
}
fn init_logger() {
let mut builder = Builder::new();
builder.filter_level(LevelFilter::Info);
let _ = builder.try_init();
// if std::env::var("RUST_LOG").is_err() {
// std::env::set_var("RUST_LOG", "pingora_reverse_proxy=debug");
// }
// pretty_env_logger::init_timed();
}