Ctrl K
ring2all.com

HTTP/HTTPS Server Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Configuration Sections
  5. Settings Reference
  6. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary

---

1. Module Overview (Technical)

What Is the HTTP/HTTPS Server Module?

HTTP/HTTPS Server is a web server configuration module that manages Nginx settings for the admin panel and API. It controls listeners, TLS policies, HSTS, logging, and rate limiting.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│            HTTP/HTTPS Server Architecture                      │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  HTTP Server Configuration                                      │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Nginx Configuration                               │   │
│  │                                                          │   │
│  │  Listeners:                                              │   │
│  │  ├─ HTTP: 0.0.0.0:80                                    │   │
│  │  └─ HTTPS: 0.0.0.0:443                                  │   │
│  │                                                          │   │
│  │  HTTPS Policy:                                           │   │
│  │  ├─ TLS Min: 1.2                                        │   │
│  │  ├─ TLS Max: 1.3                                        │   │
│  │  ├─ Cipher: Modern                                      │   │
│  │  └─ HSTS: Enabled (1 year)                              │   │
│  │                                                          │   │
│  │  Security:                                               │   │
│  │  ├─ Force HTTPS: ✓                                      │   │
│  │  ├─ Max Request: 10MB                                   │   │
│  │  └─ Rate Limit: 100 req/10s                             │   │
│  │                                                          │   │
│  │  Default Certificate: Production SSL                     │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│       │                                                         │
│       ▼ Applied to Nginx                                       │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │        Nginx Web Server                                  │   │
│  │                                                          │   │
│  │  Serves:                                                 │   │
│  │  ├─ Admin Panel (React App)                             │   │
│  │  ├─ API Endpoints                                       │   │
│  │  ├─ Provisioning Files                                  │   │
│  │  └─ Static Assets                                       │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Tables

TablePurpose
public.http_server_configServer configuration

Key Files

FileDescription
modules/httpServer/Frontend module
/etc/nginx/nginx.confNginx main config
/etc/nginx/conf.d/Site configurations
---

2. Module Overview (Commercial/Business)

Business Value

HTTP/HTTPS Server provides secure web access:

Without ConfigurationWith Configuration
Default settingsOptimized security
Basic TLSModern ciphers
No HSTSBrowser enforcement
No rate limitsAttack protection

Use Cases

  1. Security Hardening
- Enforce HTTPS only

- Modern TLS settings

  1. Compliance
- PCI DSS requirements

- TLS 1.2+ enforcement

  1. Performance
- Optimized settings

- Rate limiting

  1. Flexibility
- Custom ports

- Multi-interface binding

Feature Highlights

FeatureBenefit
Force HTTPSSecure all traffic
TLS Version ControlModern security
Cipher ProfilesEasy configuration
HSTSBrowser enforcement
Rate LimitingAttack protection
Access LogsRequest tracking
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • Configure HTTP/HTTPS ports
  • Enable/disable protocols
  • Force HTTPS redirect
  • Set TLS version limits
  • Choose cipher profile
  • Configure HSTS
  • Set default certificate
  • Enable rate limiting
  • Configure logging

HTTP/HTTPS Server Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│              HTTP/HTTPS Server                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Global listeners, TLS policies, and security settings         │
│                                                                 │
│  [Reset to Defaults]                                            │
│                                                                 │
│  ▼ Listeners                                                    │
│    Configure server ports and binding                           │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │                                                             ││
│  │  Enable HTTP: ✓                   Enable HTTPS: ✓          ││
│  │                                                             ││
│  │  HTTP Port: [80         ]         HTTPS Port: [443       ] ││
│  │                                                             ││
│  │  Bind Address: [0.0.0.0                                  ] ││
│  │    IP address to bind to (0.0.0.0 for all interfaces)      ││
│  │                                                             ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│  ──────────────────────────────────────────────────────────────│
│                                                                 │
│  ▼ HTTPS Policy                                                 │
│    TLS settings and security policies                           │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │                                                             ││
│  │  Force HTTPS: ✓                                            ││
│  │    Redirect all HTTP traffic to HTTPS                       ││
│  │                                                             ││
│  │  TLS Min Version: [TLS 1.2 ▼]   TLS Max Version: [TLS 1.3 ▼]││
│  │                                                             ││
│  │  Cipher Profile: [Modern (Most Secure) ▼]                  ││
│  │    Modern | Intermediate | Legacy                           ││
│  │                                                             ││
│  │  ────────────────────────────────────────────────────────── ││
│  │                                                             ││
│  │  HSTS Enabled: ✓                                           ││
│  │                                                             ││
│  │  HSTS Max Age: [31536000   ] seconds (1 year)              ││
│  │                                                             ││
│  │  Include Subdomains: ✓        HSTS Preload: ☐              ││
│  │                                                             ││
│  │  Disable TLS Renegotiation: ✓                              ││
│  │                                                             ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│  ──────────────────────────────────────────────────────────────│
│                                                                 │
│  ▼ Default Certificate                                          │
│    Fallback certificate when no domain match is found          │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │                                                             ││
│  │  Default TLS Certificate: [Production SSL ▼]               ││
│  │    Used when accessing by IP or when domain is not         ││
│  │    configured                                               ││
│  │                                                             ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│  ──────────────────────────────────────────────────────────────│
│                                                                 │
│  ▼ Logging & Security                                           │
│    Access logging and security settings                         │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │                                                             ││
│  │  Access Log: ✓             Error Log Level: [warn ▼]       ││
│  │                                                             ││
│  │  Max Request Size: [10485760  ] bytes (10MB)               ││
│  │                                                             ││
│  │  ────────────────────────────────────────────────────────── ││
│  │                                                             ││
│  │  Rate Limiting: ✓                                          ││
│  │                                                             ││
│  │  Max Requests: [100        ]  Time Window: [10       ] sec ││
│  │                                                             ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│  [Save Configuration]                                           │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Force HTTPS: Always enable for production.
TIP
Modern Ciphers: Best security for current browsers.
WARNING
HSTS Preload: Irreversible - test thoroughly first.

---

4. Configuration Sections

Listeners

FieldDescription
Enable HTTPAllow HTTP connections
Enable HTTPSAllow HTTPS connections
HTTP PortHTTP port (default 80)
HTTPS PortHTTPS port (default 443)
Bind AddressInterface to bind

HTTPS Policy

FieldDescription
Force HTTPSRedirect HTTP to HTTPS
TLS Min VersionMinimum TLS (1.2 recommended)
TLS Max VersionMaximum TLS (1.3)
Cipher ProfileCipher suite selection
HSTS EnabledStrict Transport Security
HSTS Max AgeHSTS duration (seconds)
Include SubdomainsApply to subdomains
HSTS PreloadBrowser preload list
Disable TLS RenegotiationPrevent attacks

Default Certificate

FieldDescription
Default TLS CertificateFallback certificate

Logging & Security

FieldDescription
Access LogLog all requests
Error Log LevelMinimum log severity
Max Request SizeBody size limit
Rate LimitingEnable rate limits
Max RequestsRequests per window
Time WindowRate limit window
---

5. Settings Reference

TLS Versions

VersionStatusRecommendation
TLS 1.0Deprecated❌ Don't use
TLS 1.1Deprecated❌ Don't use
TLS 1.2Current✓ Minimum
TLS 1.3Modern✓ Preferred

Cipher Profiles

ProfileSecurityCompatibility
ModernHighestCurrent browsers
IntermediateHighOlder browsers
LegacyMediumVery old clients

HSTS Max Age Values

DurationSecondsUse
1 day86400Testing
1 week604800Initial
1 month2592000Transitional
1 year31536000Production
2 years63072000Long-term

Error Log Levels

LevelDescription
debugVery verbose
infoInformational
warnWarnings (recommended)
errorErrors only
critCritical only
---

6. Common Scenarios & Examples

Scenario 1: Secure Production Setup

  1. Enable HTTP and HTTPS
  2. Force HTTPS = ✓
  3. TLS Min = 1.2, Max = 1.3
  4. Cipher = Modern
  5. HSTS Enabled, Max Age = 1 year
  6. Include Subdomains = ✓
  7. Select default certificate
  8. Save

Scenario 2: Development Setup

  1. Enable HTTP and HTTPS
  2. Force HTTPS = ☐
  3. TLS Min = 1.2
  4. Cipher = Intermediate
  5. HSTS = ☐ (disabled)
  6. Save

Scenario 3: Enable Rate Limiting

  1. Rate Limiting = ✓
  2. Max Requests = 100
  3. Time Window = 10 seconds
  4. Save
  5. (100 requests per 10 seconds per IP)

Scenario 4: Change Ports

  1. HTTP Port = 8080
  2. HTTPS Port = 8443
  3. Bind Address = 0.0.0.0
  4. Save
  5. Restart Nginx

---

7. Limitations & Important Notes

Technical Notes

NOTE
Port Changes: May require service restart.
NOTE
Bind Address: 0.0.0.0 = all IPv4, :: = all IPv6.
WARNING
HSTS Preload: Permanent inclusion - test first!

Best Practices

  1. Always Force HTTPS: Security baseline
  2. TLS 1.2 Minimum: Industry standard
  3. Modern Ciphers: When possible
  4. Enable HSTS: After HTTPS stable
  5. Rate Limiting: Protect against abuse

Security Recommendations

SettingProduction Value
Force HTTPS✓ Enabled
TLS Min1.2
Cipher ProfileModern
HSTS✓ Enabled, 1 year
TLS Renegotiation✓ Disabled
Rate Limiting✓ Enabled
---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Can't connectWrong portCheck ports
SSL errorNo certificateSet default cert
HSTS issuePreload stuckWait or use different domain
Rate limitedToo many requestsAdjust limits

Test Configuration

Bash
# Test Nginx config
nginx -t

# Check listening ports
ss -tlnp | grep nginx

# Test TLS version
openssl s_client -connect localhost:443 -tls1_2

# Check HTTPS headers
curl -I https://localhost

Check Nginx Status

Bash
# Service status
systemctl status nginx

# Reload config
systemctl reload nginx

# View access log
tail -f /var/log/nginx/access.log

# View error log
tail -f /var/log/nginx/error.log

---

9. Glossary

TermDefinition
TLSTransport Layer Security
HSTSHTTP Strict Transport Security
CipherEncryption algorithm
Rate LimitingRequest throttling
PreloadBrowser built-in HSTS
Bind AddressInterface IP
---

Lua Script Status ℹ️

Infrastructure Module

ComponentStatus
HTTP/HTTPS Serverℹ️ Nginx configuration - no Lua handler required
HTTP/HTTPS Server is an infrastructure configuration module. It manages Nginx web server settings. No Lua handlers are used - configuration is applied to Nginx by the backend service.

---

Documentation last updated: January 2026
AI Assistant

👋 Hello! I'm your Ring2All documentation assistant. I can help you find information about configuring and using the Ring2All PBX platform.

How can I help you today?