Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A lightweight NodeJS app to provide redirect and proxy service, based on an included config file
JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
.gitignore
README.md
config-json.dist
dockerfile
package.json

README.md

http_helper

OVERVIEW

A simple node.js redirector and proxy application. Given a config file full of redirect and proxy mappings, this application will match incoming HOST headers and take the appropriate action by 301/302 redirecting or proxying.,ss

This is useful for redirecting www to root domains, redirecting old domains to new domains, proxying for SSL from non-SSL sources on AWS.

PREREQUISITES

  • node.js (v0.10.28 preferred)
  • npm (comes with node.js)

PREFLIGHT

  • mv ./config-json.dist to ./config.json
  • Update mappings for redirects/proxies based on your needs

As an example, if we wanted to setup a redirect to yourdomain.com from www.yourdomain.com, we would add the following block in config.json: "www.yourdomain.com": { "host": "http://yourdomain.com", "code": 301, "function": "redirect" }, (Note: The function setting can be either redirect or proxy)

RUNNING THIS APPLICATION

Simply run: node ./bin/server.js

FURTHER INFORMATION

Author: JP Schneider (Github: jdotpz, jp@mozillafoundation.org) Bugs/Requests: https://www.github.com/mozilla/http_helper/issues

  • New Relic monitoring is written into this application. Simply provide your own newrelic.js or config settings and it will just work.

  • Messina is an amazing GELF log utility written by Brian Brennan (brianloveswords). To output to your own GELF facility, set the following env variables while running node.

export GRAYLOG_HOST="address.to_your_logging_server.com" #defaults to localhost export GRAYLOG_PORT=12201 #defaults to 12201 export GRAYLOG_FACILITY="httphelper-production" #defaults to openbadger export ENABLE_GELF_LOGS=true

Something went wrong with that request. Please try again.