[PR #59] [MERGED] Add a 'tls_letsencrypt_listen' config option #1232

Closed
opened 2025-12-29 02:29:18 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/juanfont/headscale/pull/59
Author: @qbit
Created: 7/24/2021
Status: Merged
Merged: 7/24/2021
Merged by: @cure

Base: mainHead: tls_letsencrypt_listen


📝 Commits (1)

  • 69d77f6 Add a 'tls_letsencrypt_listen' config option

📊 Changes

6 files changed (+9 additions, -1 deletions)

View changed files

📝 README.md (+2 -0)
📝 app.go (+2 -1)
📝 cmd/headscale/cli/utils.go (+1 -0)
📝 cmd/headscale/headscale_test.go (+2 -0)
📝 config.json.postgres.example (+1 -0)
📝 config.json.sqlite.example (+1 -0)

📄 Description

Currently the default (and non-configurable) Let's Encrypt listener will
bind to all IPs. This isn't ideal if we want to run headscale on a specific
IP only.

This also allows for one to set the listener to something other than
port 80. This is useful for OSs like OpenBSD which only allow root to
bind the lower port ranges (and don't have setcap) as we can now run
headscale as a non-privileged user while still using the baked in ACME
magic. Obviously this configuration would also require a reverse proxy
or firewall rule to redirect traffic. I attempted to outline that in the
README change.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/juanfont/headscale/pull/59 **Author:** [@qbit](https://github.com/qbit) **Created:** 7/24/2021 **Status:** ✅ Merged **Merged:** 7/24/2021 **Merged by:** [@cure](https://github.com/cure) **Base:** `main` ← **Head:** `tls_letsencrypt_listen` --- ### 📝 Commits (1) - [`69d77f6`](https://github.com/juanfont/headscale/commit/69d77f6e9d57b7dae0951b75139bf0854e28862f) Add a 'tls_letsencrypt_listen' config option ### 📊 Changes **6 files changed** (+9 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+2 -0) 📝 `app.go` (+2 -1) 📝 `cmd/headscale/cli/utils.go` (+1 -0) 📝 `cmd/headscale/headscale_test.go` (+2 -0) 📝 `config.json.postgres.example` (+1 -0) 📝 `config.json.sqlite.example` (+1 -0) </details> ### 📄 Description Currently the default (and non-configurable) Let's Encrypt listener will bind to all IPs. This isn't ideal if we want to run headscale on a specific IP only. This also allows for one to set the listener to something other than port 80. This is useful for OSs like OpenBSD which only allow root to bind the lower port ranges (and don't have `setcap`) as we can now run `headscale` as a non-privileged user while still using the baked in ACME magic. Obviously this configuration would also require a reverse proxy or firewall rule to redirect traffic. I attempted to outline that in the README change. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 02:29:18 +01:00
adam closed this issue 2025-12-29 02:29:18 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#1232