Articles on: Features

Using Domain Proxy to Relay requests on Noticeable

This article covers how to proxy Noticeable public endpoints used by Noticeable Newspages and Widgets. Proxying is not recommended in all cases. This is purely an option requested by some organizations to meet their specialized security needs.


This feature is available with the Enterprise plan only.


Introduction


A proxy service relays requests between a client and another service, acting as an intermediary step. Building a proxy lets you proxy requests to Noticeable endpoints through your own domain. For example, you can send requests on client browsers to noticeable.your-domain.com/widgets-data instead of directly to data.widgets.noticeable.io. A proxy service relays the requests to the Noticeable platform.


Sending data through a self-owned proxy service gives you better control of the data you collect and send to the Noticeable platform. Using a proxy service can have these benefits:


  • Self-owned audit logging of data.
  • Easier debugging, filtering, and blocking of events.
  • Anonymizing end-users. For example, remove originating IP address, location, user ID, and more.


Building a proxy solution


You should notice that Noticeable makes use of different public endpoints. As a consequence, you may decide to proxy one or more:


Endpoint

Description

Requirements

https://forms.noticeable.io

Used by Noticeable to manage forms.

Must support POST, and OPTIONS requests for any path.

https://data.widgets.noticeable.ipregistry.co

Used by Noticeable to fetch data required for rendering widgets (e.g., publications, project names, widget preferences).

Must support GET and OPTIONS requests for any path.

https://pipeline.noticeable.io

Used by Noticeable Newspages and Widgets to report comments, metrics and reactions.

Must support POST, PUT, and OPTIONS requests for any path.

https://widgets.noticeable.io

Used to load widgets static assets (HTML, CSS, JS, etc.) from a CDN.

Must support GET, and OPTIONS requests for any path.


The domain ipregistry.co is owned by Elaunira SARL, the company that operates both Noticeable and Ipregistry. There is no data sharing between the two services. Using the same domain simply helps us reduce Cloudflare-related costs.


Your proxy must be scaled to support your end-user's network traffic. Noticeable is unable to provide estimates for this traffic because it is a function of your active users, the number of requests your app makes to the Noticeable infrastructure via the Noticeable SDK, the size of your content, and the amount of content being shown.


Setting up a Caddy server


The example in this guide uses Caddy to build a proxy server. Caddy is an open-source solution to building a proxy. Here is a Caddyfile configuration sample to setup a proxy to Noticeable endpoints in seconds, including HTTPS support:


(proxy) {
handle_path {args.0}/* {
reverse_proxy {args.1} {
header_up Host {http.reverse_proxy.upstream.hostport}
header_down Access-Control-Allow-Origin *
}
}
}

noticeable.your-domain.com {
@options method OPTIONS
handle @options {
header Access-Control-Allow-Origin *
header Access-Control-Allow-Methods *
header Access-Control-Allow-Headers *
respond 204
}

# Routes
import proxy /assets https://widgets.noticeable.io
import proxy /forms https://forms.noticeable.io
import proxy /pipeline https://pipeline.noticeable.io
import proxy /widgets-data https://data.widgets.noticeable.ipregistry.co
}



This Caddy configuration defines a reusable (proxy) snippet that proxies any specified path prefix to a corresponding backend while preserving the original Host header and adding the Access-Control-Allow-Origin header for CORS. In the main site block for noticeable.your-domain.com, all HTTP requests using the OPTIONS method are intercepted and answered directly with a 204 response and permissive CORS headers to handle browser preflight checks.


The routes /assets, /forms, /pipeline, and /widgets-data, which are relative to https://noticeable.your-domain.com, are then mapped to their respective backend services. For example, a request to https://noticeable.your-domain.com/forms/... is proxied to https://forms.noticeable.io/..., with the path prefix automatically stripped during forwarding.


Available services on major cloud providers


Most major cloud providers have their own services for easy development and deployment of scalable APIs that you can use to create a proxy. You can also use API services to set up outbound traffic to Noticeable. If you use a cloud provider, refer to their documentation to set up a proxy service and for their quickstart guides:



Configuring Noticeable to work with alternate endpoints


Newspages


  1. Open the Noticeable dashboard and select a project.
  2. Click on Newspage in the left navigation.
  3. In the page that appears, scroll to the bottom of the page and select "Advanced options".
  4. You should now see a field to configure the pipeline endpoint used by Noticeable on Newspages. Enter your proxy URL and press enter:



Widgets


Before calling noticeable.render(...) to render a Noticeable widget, make sure to define global preferences as follows with the Noticeable SDK:


noticeable.set('preferences', {
endpoints: {
forms: 'https://noticeable.your-domain.com/forms'
pipeline: 'https://noticeable.your-domain.com/pipeline',
widgetsAssets: 'https://noticeable.your-domain.com/assets',
widgetsData: 'https://noticeable.your-domain.com/widgets-data'
}
});
noticeable.render(...)


Setting global preferences must be done before all other calls to the Noticeable SDK.


Note that assets are served by default through Cloudflare’s global Content Delivery Network, which provides high availability, low latency, and efficient caching worldwide. If you choose to use your own server(s), we strongly recommend relying on a CDN to achieve similar performance and reliability.


Validation and deployment


Testing is as simple as loading your Newspage or Widget(s) on your site and seeing it function. Be careful to test feedback and reactions reporting if such features are enabled on your project.

Updated on: 10/24/2025

Was this article helpful?

Share your feedback

Cancel

Thank you!