Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7787965
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T20:50:25+00:00 2026-06-01T20:50:25+00:00

Here is the thing: We’ve implemented a C++ RESTful API Server, with built-in HTTP

  • 0

Here is the thing:

  1. We’ve implemented a C++ RESTful API Server, with built-in HTTP parser and no standard HTTP server like apache or anything of the kind
  2. It has been in use for several months in Amazon structure, using both plain and SSL communications, and no problems have been identified, related to Amazon infra-structure
  3. We are deploying our first backend using Amazon ELB
  4. Amazon ELB has a customizable health check system but also as an automatic one, as stated here
  5. We’ve found no documentation of what data is sent by the health check system
  6. The backend simple hangs on the socket read instruction and, eventually, the connection is closed

I’m not looking for a solution for the problem since the backend is not based on a standard web server, just if someone knows what kind of message is being sent by the ELB health check system, since we’ve found no documentation about this, anywhere.

Help is much appreciated. Thank you.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T20:50:27+00:00Added an answer on June 1, 2026 at 8:50 pm

    Amazon ELB has a customizable health check system but also as an
    automatic one, as stated here

    With customizable you are presumably referring to the health check configurable via the AWS Management Console (see Configure Health Check Settings) or via the API (see ConfigureHealthCheck).

    The requirements to pass health checks configured this way are outlined in field Target of the HealthCheck data type documentation:

    Specifies the instance being checked. The protocol is either TCP,
    HTTP, HTTPS, or SSL. The range of valid ports is one (1) through
    65535.

    Note

    • TCP is the default, specified as a TCP: port pair, for example
      “TCP:5000”. In this case a healthcheck simply attempts to open a TCP
      connection to the instance on the specified port. Failure to connect
      within the configured timeout is considered unhealthy.

    • SSL is also specified as SSL: port pair, for example, SSL:5000.

    • For HTTP or HTTPS protocol, the situation is different. You have to
      include a ping path in the string. HTTP is specified as a
      HTTP:port;/;PathToPing; grouping, for example
      “HTTP:80/weather/us/wa/seattle”. In this case, a HTTP GET request is
      issued to the instance on the given port and path. Any answer other
      than “200 OK” within the timeout period is considered unhealthy.

    • The total length of the HTTP ping target needs to be 1024 16-bit
      Unicode characters or less.

    [emphasis mine]

    With automatic you are presumably referring to the health check described in paragraph Cause within Why is the health check URL different from the URL displayed in API and Console?:

    In addition to the health check you configure for your load balancer,
    a second health check is performed
    by the service to protect against
    potential side-effects caused by instances being terminated without
    being deregistered. To perform this check, the load balancer opens a
    TCP connection on the same port that the health check is configured to
    use, and then closes the connection after the health check is
    completed. [emphasis mine]

    The paragraph Solution clarifies the payload being zero here, i.e. it is similar to the non HTTP/HTTPS method described for the configurable health check above:

    This extra health check does not affect the performance of your
    application because it is not sending any data to your back-end
    instances. You cannot disable or turn off this health check.

    Summary / Solution

    Assuming your RESTful API Server, with built-in HTTP parser is supposed to serve HTTP only indeed, you will need to handle two health checks:

    1. The first one you configured yourself as a HTTP:port;/;PathToPing – you’ll receive a HTTP GET request and must answer with 200 OK within the specified timeout period to be considered healthy.
    2. The second one configured automatically by the service – it will open a TCP connection on the HTTP port configured above, won’t send any data, and then closes the connection after the health check is completed.

    In conclusion it seems that your server might be behaving perfectly fine already and you are just irritated by the 2nd health check’s behavior – does ELB actually consider your server to be unhealthy?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm doing pretty simple thing here: getting Facebook news feed using their graph API.
I'm using this: http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_toggle the thing here is that i change the button to
I have two XML file sitemap.xml and mouse.xml which look like below.Here the thing
And what if you want to autocomplete passwords? I am using similar thing here...
Here's the thing: I have two applications, written in C++ and running on two
Here's the thing: object[] arrayText = new object[1]; if (arrayText[1] == null) { MessageBox.Show(Is
Here is the thing. Right now I have this e-commerce web site where people
Here's the thing: In my Qt4.6-Project, I use a SQLite-Database. This database shouldn't be
Here is the thing. I currently have a tabBar controller, with several navigation controllers
Here's the thing. I use ' Highlight.js ' (a javascript-based automatic syntax highlighter) to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.