HTTPS tunneling Proxy

artdaq_node_server includes a tunneling HTTPS proxy primarily for use with [[otsdaq|]]. It also supports CILogon certificate authentication, passing the certificate's email on to the HTTP server behind it.


Configuration of the proxy is through the xdaq_config.json file found in the root directory of artdaq_node_server.

This file contains the following fields:
  1. listenhost: Host to accept HTTPS connections on
  2. listenport: Port to accept HTTPS connections (443 is the default HTTPS port, must be root to use)
  3. xdaqhost: Host to forward requests to
  4. xdaqport: Port to forward requests to
  5. logFileName: All output will be logged to this file, with timestamps. File is opened in append mode.
  6. logConsoleEnabled: Whether to print to the console as well as to the log file


After executing (which generates host certificates and downloads needed Node.js packages), run node HTTPSizer.js to start the proxy.
This can be run in a cron job or installed as a system service. The init.example file in the root directory of artdaq_node_server can be installed in /etc/init.d with path configuration to match the location of artdaq_node_server.