Exemple #1
0
 function getApacheMailcatcher(Request $request)
 {
     if ($request->get('key') != env('WEBDB_BACKEND_KEY')) {
         return;
     }
     header("Content-Type: text/plain");
     foreach (Server::get() as $server) {
         echo '<VirtualHost *:80>' . "\n";
         echo "    ServerName " . $server->hostname . "-mail." . env('WEBDB_URL') . "\n";
         echo "    RewriteEngine On\n";
         echo "    RewriteRule ^/?(.*) https://%{SERVER_NAME}/\$1 [R,L]\n";
         echo "</VirtualHost>\n\n";
         echo '<VirtualHost *:443>' . "\n";
         echo "    ServerName " . $server->hostname . "-mail." . env('WEBDB_URL') . "\n";
         echo "    SSLEngine on\n";
         echo "    SSLCertificateFile " . env('WEBDB_MAILCATCHER_SSL_PATH') . "cert.pem\n";
         echo "    SSLCertificateKeyFile " . env('WEBDB_MAILCATCHER_SSL_PATH') . "privkey.pem\n";
         echo "    SSLCACertificateFile " . env('WEBDB_MAILCATCHER_SSL_PATH') . "chain.pem\n";
         echo "    SSLProxyEngine on\n";
         echo "    SSLProxyVerify none\n";
         echo "    SSLProxyCheckPeerCN off\n";
         echo "    SSLProxyCheckPeerName off\n";
         echo "    SSLProxyCheckPeerExpire off\n";
         echo "    ProxyPass /messages-ws wss://" . $server->ip_address . ":81/messages-ws\n";
         echo "    ProxyPassReverse /messages-ws wss://" . $server->ip_address . ":81/messages-ws\n";
         echo "    ProxyPass / https://" . $server->ip_address . ":81/\n";
         echo "    ProxyPassReverse / https://" . $server->ip_address . ":81/\n";
         echo "</VirtualHost>\n\n";
     }
 }