Can not make a monotor for the http service on 8000 port #4169

Closed
opened 2026-02-28 03:53:32 -05:00 by deekerman · 15 comments
Owner

Originally created by @monokini3d on GitHub (Jun 13, 2025).

⚠️ Please verify that your question has not already been reported

🛡️ Security Policy

📝 Describe your problem

I need to monitor a handle server (hfl.handle.net). It is actually a http server, but on 8000 port. I can Create a monitor with "URL=http://domainname:8000", but with an error "[domainname:8000][DOWN] Parse Error: Invalid header value char".

Now I am monitoring a TCP port but may be it is possible to make a port selection for HTTP(s) monitors?

📝 Error Message(s) or Log

[domainname:8000][DOWN] Parse Error: Invalid header value char

🐻 Uptime-Kuma Version

1.23.16

💻 Operating System and Arch

Debian 12 AMD64

🌐 Browser

none

🖥️ Deployment Environment

  • Runtime Environment:
    • Docker: Version X.X.X (Build Y.Y.Y)
    • Docker Compose: Version X.X.X
    • Portainer (BE/CE): Version X.X.X (LTS: Yes/No)
    • MariaDB: Version X.X.X (LTS: Yes/No)
    • Node.js: Version X.X.X (LTS: Yes/No)
    • Kubernetes (K3S/K8S): Version X.X.X (LTS: Yes/No, via [method/tool])
  • Database:
    • SQLite: Embedded
    • MariaDB: Embedded/External
  • Database Storage:
    • Filesystem:
      • Linux: ext4/XFS/Btrfs/ZFS/F2FS
      • macOS: APFS/ HFS+
      • Windows: NTFS/ReFS
    • Storage Medium: HDD/eMMC/SSD/NVMe
  • Uptime Kuma Setup:
    • Number of monitors: X
Originally created by @monokini3d on GitHub (Jun 13, 2025). ### ⚠️ Please verify that your question has not already been reported - [x] I have searched the [existing issues](https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue%20sort%3Acreated-desc%20) and found no similar reports. ### 🛡️ Security Policy - [x] I have read and agree to Uptime Kuma's [Security Policy](https://github.com/louislam/uptime-kuma/security/policy). ### 📝 Describe your problem I need to monitor a handle server (hfl.handle.net). It is actually a http server, but on 8000 port. I can Create a monitor with "_URL=http://domainname:8000_", but with an error "[domainname:8000][DOWN] Parse Error: Invalid header value char". Now I am monitoring a TCP port but may be it is possible to make a port selection for HTTP(s) monitors? ### 📝 Error Message(s) or Log ```bash session [domainname:8000][DOWN] Parse Error: Invalid header value char ``` ### 🐻 Uptime-Kuma Version 1.23.16 ### 💻 Operating System and Arch Debian 12 AMD64 ### 🌐 Browser none ### 🖥️ Deployment Environment - **Runtime Environment**: - Docker: Version `X.X.X` (Build `Y.Y.Y`) - Docker Compose: Version `X.X.X` - Portainer (BE/CE): Version `X.X.X` (LTS: Yes/No) - MariaDB: Version `X.X.X` (LTS: Yes/No) - Node.js: Version `X.X.X` (LTS: Yes/No) - Kubernetes (K3S/K8S): Version `X.X.X` (LTS: Yes/No, via `[method/tool]`) - **Database**: - SQLite: Embedded - MariaDB: Embedded/External - **Database Storage**: - **Filesystem**: - Linux: ext4/XFS/Btrfs/ZFS/F2FS - macOS: APFS/ HFS+ - Windows: NTFS/ReFS - **Storage Medium**: HDD/eMMC/SSD/NVMe - **Uptime Kuma Setup**: - Number of monitors: `X`
deekerman 2026-02-28 03:53:32 -05:00
  • closed this issue
  • added the
    help
    label
Author
Owner

@dosubot[bot] commented on GitHub (Jun 13, 2025):

Hi @monokini3d! I'm Dosu and I’m helping the uptime-kuma team.

Uptime Kuma fully supports monitoring HTTP services on non-standard ports like 8000—just include the port in the URL (e.g., http://domainname:8000). The error [DOWN] Parse Error: Invalid header value char means one of the HTTP headers in your monitor configuration contains an invalid character (such as a non-ASCII symbol or a forbidden character) and is not related to the port itself. Uptime Kuma passes any custom headers you set directly to the HTTP request, so even a small typo or copy-paste issue in a header value can cause this error.

Double-check all custom headers in your monitor settings for any unusual or non-standard characters. If you remove or correct the problematic header, the monitor should work as expected on port 8000. There’s no restriction in the codebase against using non-standard ports for HTTP monitors—just make sure your headers are valid and ASCII-only.

If you’re still stuck, try creating a new HTTP monitor for the same URL without any custom headers to confirm the port works, then add headers back one by one to find the culprit.

For more technical details, see the code handling HTTP monitors and error reporting here.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

@dosubot[bot] commented on GitHub (Jun 13, 2025): <!-- Greeting --> Hi @monokini3d! I'm [Dosu](https://go.dosu.dev/dosubot) and I’m helping the uptime-kuma team. <!-- Answer --> Uptime Kuma fully supports monitoring HTTP services on non-standard ports like 8000—just include the port in the URL (e.g., `http://domainname:8000`). The error `[DOWN] Parse Error: Invalid header value char` means one of the HTTP headers in your monitor configuration contains an invalid character (such as a non-ASCII symbol or a forbidden character) and is not related to the port itself. Uptime Kuma passes any custom headers you set directly to the HTTP request, so even a small typo or copy-paste issue in a header value can cause this error. Double-check all custom headers in your monitor settings for any unusual or non-standard characters. If you remove or correct the problematic header, the monitor should work as expected on port 8000. There’s no restriction in the codebase against using non-standard ports for HTTP monitors—just make sure your headers are valid and ASCII-only. If you’re still stuck, try creating a new HTTP monitor for the same URL without any custom headers to confirm the port works, then add headers back one by one to find the culprit. For more technical details, see the code handling HTTP monitors and error reporting [here](https://github.com/louislam/uptime-kuma/blob/55817061c0aa488b3d54b29765700636f0bb072d/server/model/monitor.js). <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/bfb40580-4d08-4457-a62b-54294563d88a?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/louislam/uptime-kuma/issues/5912)
Author
Owner

@monokini3d commented on GitHub (Jun 13, 2025):

Now i am using uptimerobot.com for monitor http://elar.urfu.ru:8000/ this host. There is no problems... I checked some services on 32768 or 8080 port and there was no problems. May be, broblem is on http://elar.urfu.ru:8000/ side?

@monokini3d commented on GitHub (Jun 13, 2025): Now i am using uptimerobot.com for monitor http://elar.urfu.ru:8000/ this host. There is no problems... I checked some services on 32768 or 8080 port and there was no problems. May be, broblem is on http://elar.urfu.ru:8000/ side?
Author
Owner

@louislam commented on GitHub (Jun 13, 2025):

Have you check: https://github.com/louislam/uptime-kuma/issues/23

@louislam commented on GitHub (Jun 13, 2025): Have you check: https://github.com/louislam/uptime-kuma/issues/23
Author
Owner

@louislam commented on GitHub (Jun 13, 2025):

@dosubot Why don't you search for duplicate issues?

@louislam commented on GitHub (Jun 13, 2025): @dosubot Why don't you search for duplicate issues?
Author
Owner

@dosubot[bot] commented on GitHub (Jun 13, 2025):

I did search for duplicate issues related to the "Parse Error: Invalid header value char" and found that issue #23 is the main existing report for this problem. No other relevant or newer issues about this specific error turned up in the repository. The error itself comes from Node.js when it encounters invalid characters in HTTP header values, and there haven't been recent changes in Uptime Kuma's codebase that address or alter this behavior. If you need more technical details or want to discuss possible workarounds, let me know!

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X

@dosubot[bot] commented on GitHub (Jun 13, 2025): <!-- Answer --> I did search for duplicate issues related to the "Parse Error: Invalid header value char" and found that issue #23 is the main existing report for this problem. No other relevant or newer issues about this specific error turned up in the repository. The error itself comes from Node.js when it encounters invalid characters in HTTP header values, and there haven't been recent changes in Uptime Kuma's codebase that address or alter this behavior. If you need more technical details or want to discuss possible workarounds, let me know! <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/0bc28c10-8af0-446e-a6c5-d85510fca610?feedback_type=other)</sup>&nbsp;&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/louislam/uptime-kuma/issues/5912)
Author
Owner

@louislam commented on GitHub (Jun 13, 2025):

Now i am using uptimerobot.com for monitor http://elar.urfu.ru:8000/ this host. There is no problems... I checked some services on 32768 or 8080 port and there was no problems. May be, broblem is on http://elar.urfu.ru:8000/ side?

Parse Error: Missing expected CR after response line

This is the error in my end. Your header response is not following the http standard.

Read more:
https://stackoverflow.com/questions/5757290/http-header-line-break-style

@louislam commented on GitHub (Jun 13, 2025): > Now i am using uptimerobot.com for monitor http://elar.urfu.ru:8000/ this host. There is no problems... I checked some services on 32768 or 8080 port and there was no problems. May be, broblem is on http://elar.urfu.ru:8000/ side? > Parse Error: Missing expected CR after response line This is the error in my end. Your header response is not following the http standard. Read more: https://stackoverflow.com/questions/5757290/http-header-line-break-style
Author
Owner

@monokini3d commented on GitHub (Jun 16, 2025):

This is the error in my end. Your header response is not following the http standard.

It is still unclear for me what should I do. Now i am using --node-args="--insecure-http-parser" in my pm2, but... may be it is insecure.

@monokini3d commented on GitHub (Jun 16, 2025): > This is the error in my end. Your header response is not following the http standard. It is still unclear for me what should I do. Now i am using _--node-args="--insecure-http-parser"_ in my pm2, but... may be it is insecure.
Author
Owner

@CommanderStorm commented on GitHub (Jun 16, 2025):

Well the issue that we are alerting to is a real one..
Your server does not follow the http spec as it seems.
I would suggest to fix the server.

@CommanderStorm commented on GitHub (Jun 16, 2025): Well the issue that we are alerting to is a real one.. Your server does not follow the http spec as it seems. I would suggest to fix the server.
Author
Owner

@monokini3d commented on GitHub (Jun 16, 2025):

I asked a developer to look at this case, but now I am, trying to find a problem myself. I tried to make something like this in windows and linux:

curl -s -D - -o /dev/null http://elar.urfu.ru:8000
HTTP/1.0 200 OK
Content-type: text/html; charset=utf-8

And I do not inderstand where is an error?

@monokini3d commented on GitHub (Jun 16, 2025): I asked a developer to look at this case, but now I am, trying to find a problem myself. I tried to make something like this in windows and linux: ``` curl -s -D - -o /dev/null http://elar.urfu.ru:8000 HTTP/1.0 200 OK Content-type: text/html; charset=utf-8 ``` And I do not inderstand where is an error?
Author
Owner

@monokini3d commented on GitHub (Jun 16, 2025):

The developer found a bug. It's in this package https://mvnrepository.com/artifact/org.dspace/handle/6.2.5_03

There will be no fix, as the version is very old and not supported. Thanks for your support.

@monokini3d commented on GitHub (Jun 16, 2025): The developer found a bug. It's in this package https://mvnrepository.com/artifact/org.dspace/handle/6.2.5_03 There will be no fix, as the version is very old and not supported. Thanks for your support.
Author
Owner

@louislam commented on GitHub (Jun 16, 2025):

Since you are the one who makes requests to your own website, I don't think there is any actual risk of using --insecure-http-parser

Read more about the risk:
https://nodejs.org/api/cli.html#--insecure-http-parser

Also, I think most browsers and HTTTP clients in other programming languages are accepting it, just Node.js complains it by default.

And I just realized that there is an option to set insecureHTTPParser in Node.js' HTTP client. If we implemented that, it can be set per monitor. Maybe I should convert it to a feature request.

@louislam commented on GitHub (Jun 16, 2025): Since you are the one who makes requests to your own website, I don't think there is any actual risk of using `--insecure-http-parser` Read more about the risk: https://nodejs.org/api/cli.html#--insecure-http-parser Also, I think most browsers and HTTTP clients in other programming languages are accepting it, just Node.js complains it by default. And I just realized that there is an option to set `insecureHTTPParser` in Node.js' HTTP client. If we implemented that, it can be set per monitor. Maybe I should convert it to a feature request.
Author
Owner

@monokini3d commented on GitHub (Jun 17, 2025):

Maybe I should convert it to a feature request.

Please convert it to a feature request. Also, i want to ask about one more feature. We have a cheap ssl with changed chain. Our server have only one certificate and intermediate os missing. Most browsers and even antivirus software show no problems with https://elib.uraic.ru and with nodejs i should add intermediate cert via "NODE_EXTRA_CA_CERTS": "/opt/intermediate.pem" in my dump.pm2

May be it is possible to make an upload of self-signed or buggy cert for each monotor?

@monokini3d commented on GitHub (Jun 17, 2025): > Maybe I should convert it to a feature request. Please convert it to a feature request. Also, i want to ask about one more feature. We have a cheap ssl with changed chain. Our server have only one certificate and intermediate os missing. Most browsers and even antivirus software show no problems with https://elib.uraic.ru and with nodejs i should add intermediate cert via _"NODE_EXTRA_CA_CERTS": "/opt/intermediate.pem"_ in my dump.pm2 May be it is possible to make an upload of self-signed or buggy cert for each monotor?
Author
Owner

@CommanderStorm commented on GitHub (Jun 17, 2025):

And I just realized that there is an option to set insecureHTTPParser in Node.js' HTTP client. If we implemented that, it can be set per monitor. Maybe I should convert it to a feature request.

I don't think we should implement this.

This is an issue that we are alerting to is real.. The server does not follow the http spec.
Yes, via --insecure-http-parser you can get around this.
Please update the server insted of ignoring the issues.

I also don't think that a lot of people run this particular flavor of broken servers => I don't want to maintain this.

@CommanderStorm commented on GitHub (Jun 17, 2025): > And I just realized that there is an option to set insecureHTTPParser in Node.js' HTTP client. If we implemented that, it can be set per monitor. Maybe I should convert it to a feature request. I don't think we should implement this. This is an issue that we are alerting to is real.. The server does not follow the http spec. Yes, via `--insecure-http-parser` you can get around this. Please update the server insted of ignoring the issues. I also don't think that a lot of people run this particular flavor of broken servers => I don't want to maintain this.
Author
Owner

@monokini3d commented on GitHub (Jun 17, 2025):

I see "Ignore TLS/SSL error for HTTPS websites" in Version: 1.23.16.

I would like to see"Ignore HTTP HEADER error for websites" :)

@monokini3d commented on GitHub (Jun 17, 2025): I see "Ignore TLS/SSL error for HTTPS websites" in Version: 1.23.16. I would like to see"Ignore HTTP HEADER error for websites" :)
Author
Owner

@CommanderStorm commented on GitHub (Jun 17, 2025):

Yes, broken TLS-certs that are much more common.
I don't think a lot of people run so broken web servers in the headers department.

As said above:
Use --insecure-http-parser to ignore it for everything or fix the server (maybe by updating it to a version with support).

@CommanderStorm commented on GitHub (Jun 17, 2025): Yes, broken TLS-certs that are much more common. I don't think a lot of people run so broken web servers in the headers department. As said above: Use `--insecure-http-parser` to ignore it for everything or fix the server (maybe by updating it to a version with support).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/uptime-kuma#4169
No description provided.