diff --git a/examples/proxy.c b/examples/proxy.c index 9ee3815c33c4eb70ca77d838ae0c29ae30fc887c..d941192d58c8d50cfa1d57be12ba74d2f2288494 100644 --- a/examples/proxy.c +++ b/examples/proxy.c @@ -124,6 +124,13 @@ static int proxy_event_handler(struct mg_connection *conn, enum mg_event ev) { return try_to_serve_locally(conn); } + // Enable man-in-the-middle SSL mode for oracle.com + if (!strcmp(conn->request_method, "CONNECT") && + !strcmp(host, "oracle.com")) { + mg_terminate_ssl(conn, "ssl_cert.pem"); + return MG_MORE; + } + return MG_FALSE; case MG_AUTH: return MG_TRUE; @@ -168,6 +175,7 @@ int main(int argc, char *argv[]) { // Create and configure proxy server s_server = mg_create_server(NULL, &proxy_event_handler); + setopt(s_server, "enable_proxy", "yes"); setopt(s_server, "document_root", root); setopt(s_server, "listening_port", port); setopt(s_server, "ssl_certificate", cert);