Hypertest Docs
HyperTestKnowledge Base
  • Quick Set-up
    • Install HyperTest
    • Deploy your application
    • Mirror Traffic
      • Using Kubernetes
      • Using Amazon ECS
      • Using Docker
      • Using Nginx
      • Using Goreplay
        • ElasticBeanStalk Script for Goreplay
      • Using Apache
      • Using IIS
      • Using Istio
      • Using Kong
      • Using HAProxy
      • Others
  • HyperTest Overview
    • Introduction
    • Architecture
  • Detailed Setup Guide
    • Detailed Setup Guide
      • Installation
        • Linux VM
        • Kubernetes Cluster
          • Hardware Requirements
          • Cluster Setup
            • EKS
              • Existing Application Load Balancer
              • Calculate Setup Cost for EKS Cluster
            • GCP
            • AKS
            • Self Managed
              • Microk8s with EKS-D
          • HyperTest Installation
      • Mirror Traffic
      • Configure HyperTest
      • Automate Starting a Test
        • CI Integration
          • GitHub Checks Integration
            • Mandatory checks
          • Gitlab Integration
          • Bitbucket Integration
          • Jenkins Pipeline
            • Jenkins Plugins for PR events
  • Upgrade HyperTest
    • Upgrade HyperTest
      • Linux VM
      • Kubernetes Cluster
  • User Guides
    • Usage Guide
      • Install and Configure HyperTest
        • Install HyperTest
        • Configure Base DNS
        • Add New Service
      • Tests Runs and Analysis
        • View Test Cases
        • Start New Test Run
        • Understand Your Test Run Analysis
        • Prioritize Your Error Types
        • Track Bugs
        • Ignore Errors/Desired Changes
        • View/Download Report
        • View Consolidated Dashboard Reports
        • Sign-off Reports
        • Reduce Execution Time
        • Deduplication Rules
      • Troubleshooting and FAQs
    • Best Practices Guide
      • Cost Optimization
    • Dashboard Tour
      • Dashboard
      • All Sessions
      • Regression Report
      • Notifications
      • First Test Run
      • Interactions
      • Custom Analysis
      • Configuration
    • User Management
      • Create Admin User
      • Roles, Groups & Users
      • Enabling User Signup
    • Other Guides
      • Basic Nginx Auth for Linux HT
  • Middleware
  • Advanced Features
    • Import test cases from Postman
  • Change Log
  • Troubleshooting
  • FAQs
    • Setup
    • General
    • Regression Report
  • Glossary
    • Session
Powered by GitBook
On this page
  • Brief Steps:
  • 1. Install Application Request Routing
  • 2. Shift candidate application to new url
  • 3. Add new Site
  • 4. Add Reverse Proxy
  • 5. Deploy Nginx proxy server on Hypertest VM
  1. Quick Set-up
  2. Mirror Traffic

Using IIS

PreviousUsing ApacheNextUsing Istio

Last updated 2 years ago

Find the video guide for below instructions over .

In this guide, we will introduce a proxy server between user and your candidate application, which will forward the traffic to candidate application and mirror it to HyperTest.

Brief Steps:

  1. Shift candidate application to new url ( for eg: from test.app.latest -> new-test.app.latest)

  2. Add a new site on original candidate url (test.app.latest) We are reusing the same url so nothing changes for the end user. User will still make request calls test.app.latest which will just internally mirror traffic to HyperTest and forward the requests to candidate application on new-test.app.latest.

  3. Configure Reverse proxy to proxy server running in Hypertest VM

  4. Proxy server will then forward traffic to candidate application on new-test.app.latest, while also mirrroing it to HyperTest.

Now lets dive into steps:

1. Install Application Request Routing

Accept the license agreement and install ARR.

2. Shift candidate application to new url

  1. Change the candidate application's url to new-test.app.latest

3. Add new Site

  1. Add a new site in IIS which is accessible on test.app.latest Select an empty folder for physical path \

4. Add Reverse Proxy

  1. Add Reverse proxy to Hypertest VM on port 8003

  • Go to site and URL re-write under IIS

  • Click on Add Rules under Actions from right side\

  • Select Reverse Proxy \

  • Add Inbound Rule Forward HTTP requests to <HypertestVM_IP>:8003

    Check Enable SSL Offloading: required to forward secure requests over HTTP Click ok and add the rule

  • Now click on newly added inbound rule and change pattern from (.*) to ^(.*)$, apply and save the changes.

Reverse proxy from IIS to HyperTest is now complete. We will now add proxy server in HyperTest VM on port 8003 which will forward the traffic original candiate url and mirrror to HyperTest.

5. Deploy Nginx proxy server on Hypertest VM

Create the below two files

docker-compose.yml
version: "3.7"

services:
  nginx:
    image: nginx:alpine
    container_name: external_nginx
    network_mode: host
    volumes:
      - ./nginx-conf.d:/etc/nginx/conf.d/
    restart: always
    logging:
      options:
        max-size: "4m"
        max-file: "10"
nginx.conf
upstream hypertest-internal-logger {
  server <hypertest-vm-ip>:<logger-port>;
}

upstream app-api-latest {
  server new-test.app.latest
}

server {
  listen 8003;
  client_max_body_size 600M;

  access_log off;
  	
  location / {
    mirror /mirror;
    mirror_request_body on;
    ## change this
    proxy_pass http://app-api-latest;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
    proxy_ssl_server_name on;
    proxy_ssl_name $host;
  }
    
  location   = /mirror {
    internal;
    if ($http_fromhypertest) {
      return 400 'mirror loop';
    }
    proxy_connect_timeout 500ms;
    proxy_read_timeout 500ms;
    proxy_pass http://hypertest-internal-logger$request_uri;
    proxy_set_header x-real-host $http_host;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
  }
} 

Deploy the Nginx server with below command

docker-compose -f docker-compose.yml up -d

Verify that the server is up and running using below command:

docker ps| grep nginx

Now our setup to mirror traffic to Hypertest in IIS using reverse proxy is complete.

Whenever the user will access test.app.latest, requests will go to Hypertest VM and it then forward it to candidate application.

To Verify the mirroring setup, hit any api on the application and check for request in "last mirrored requests" section or Session page in HyperTest.

Install Application Request Routing from . This is required for reverse proxy in IIS

here
here
Nginx