v8.2.2: Add security headers and HTTP/2 support for Nginx configuration in models, templates, and JS

- Introduced `NginxProxyPassSecurity` model for managing security headers and server token settings.
- Enhanced templates and JavaScript to support `hide_server_tokens`, `security_headers`, and `hsts` options.
- Updated Ansible and migration files to align with new security and HTTP/2 features.
This commit is contained in:
Aidaho
2025-07-28 11:57:22 +03:00
parent 9755fe1513
commit 20157572c6
16 changed files with 142 additions and 28 deletions

View File

@@ -475,6 +475,7 @@ class HaproxyConfigRequest(BaseModel):
backends: Optional[str] = None
circuit_breaking: Optional[HaproxyCircuitBreaking] = None
action: Optional[Literal['save', 'test', 'reload', 'restart']] = "save"
http2: Optional[bool] = False
class HaproxyUserListUser(BaseModel):
@@ -645,6 +646,11 @@ class NginxLocationRequest(BaseModel):
return values
class NginxProxyPassSecurity(BaseModel):
security_headers: bool = False
hide_server_tokens: bool = False
class NginxProxyPassRequest(BaseModel):
locations: List[NginxLocationRequest]
name: Union[IPvAnyAddress, DomainName]
@@ -655,9 +661,11 @@ class NginxProxyPassRequest(BaseModel):
ssl_crt: Optional[str] = None
ssl_key: Optional[str] = None
ssl_offloading: Optional[bool] = False
hsts: Optional[bool] = False
http2: Optional[bool] = False
action: Optional[Literal['save', 'test', 'reload', 'restart']] = 'reload'
compression: bool = False
compression_level: Annotated[int, Gt(0), Le(10)] = 6
compression_min_length: Optional[int] = 1024
compression_types: Optional[str] = 'text/plain text/css application/json application/javascript text/xml'
security: Optional[NginxProxyPassSecurity]