Socket
Socket
Sign inDemoInstall

forcedomain

Package Overview
Dependencies
61
Maintainers
5
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    forcedomain

forcedomain is a middleware for Connect and Express that redirects any requests to a default domain.


Version published
Maintainers
5
Install size
3.37 MB
Created

Changelog

Source

2.2.11 (2021-08-24)

Bug Fixes

  • remove engine constraint, add exclude to tsconfig.json (#183) (fe3980a)

Readme

Source

forcedomain

forcedomain is a middleware for Connect and Express that redirects any request to a default domain, e.g. to redirect to either the www or the non-www version of a domain.

Status

CategoryStatus
Versionnpm
DependenciesDavid
Dev dependenciesDavid
BuildGitHub Actions
LicenseGitHub

Installation

$ npm install forcedomain

Quick start

The first thing you need to do is to integrate forcedomain into your application. For that add a reference to the forcedomain module:

const { forceDomain } = require('forcedomain');

If you use TypeScript, use the following code instead:

import { forcedomain } from 'forcedomain';

If you now want to redirect your requests to a specific host, include the middleware and configure it accordingly:

app.use(forceDomain({
  hostname: 'www.example.com'
}));

Additionally, you can also specify a port and a target protocol:

app.use(forceDomain({
  hostname: 'www.example.com',
  port: 4000,
  protocol: 'https'
}));

By default, forcedomain redirects using permanent request. This is generally considered best practice with respect to SEO, as it tells search engines that there is a single long-term canonical address for a ressource.

If you want to use a temporary redirect instead, specify it as redirection type:

app.use(forceDomain({
  hostname: 'www.example.com',
  type: 'temporary'
}));

You can use excludeRule to disable redirect based on a regular expression:

app.use(forceDomain({
  hostname: 'www.example.com',
  excludeRule: /[a-zA-Z0-9][a-zA-Z0-9-]+\.herokuapp\.com/i
}));

You can use isEnabled to enable or disable redirection. Default value is true.

app.use(forceDomain({
  hostname: 'www.example.com',
  isEnabled: false
}));

Please note that localhost and local IPs (127.0.0.1, 192.168.x.x) are always being excluded from redirection. Hence you can continue developing locally as you are used to.

Using a reverse-proxy

If you are running your web application behind a reverse proxy such as Nginx, you have to forward the originally requested host.

server {
  // ...

  location / {
    proxy_pass http://localhost:3000;
    proxy_set_header Host $http_host;
  }
}

Running the build

To build this module use roboter.

$ npx roboter

Keywords

FAQs

Last updated on 24 Aug 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc