Provide a secure and repeatable proxy deployment profile.
Scope
Define recommended CORS setup per environment.
Document reverse proxy headers and API path forwarding.
Validate no mixed-content in HTTPS deployments.
Acceptance Criteria
Production profile documented and tested.
CORS behavior is predictable and secure.
## Goal
Provide a secure and repeatable proxy deployment profile.
## Scope
- Define recommended CORS setup per environment.
- Document reverse proxy headers and API path forwarding.
- Validate no mixed-content in HTTPS deployments.
## Acceptance Criteria
- Production profile documented and tested.
- CORS behavior is predictable and secure.
nessi
added the P0 label 2026-02-13 13:17:39 +00:00
nessi
added this to the v1.0 - Stability, Reliability & Security (P0) milestone 2026-02-13 13:17:43 +00:00
Implemented a secure and repeatable proxy deployment profile with documented CORS policy and HTTPS guardrails.
What was delivered
Added production proxy profile assets:
ops/profiles/prod/.env.production.example
ops/profiles/prod/nginx/nexapg.conf
Added deployment documentation:
docs/deployment/proxy-production-profile.md
Added CI guardrail validation:
.github/workflows/proxy-profile-validation.yml
ops/scripts/validate_proxy_profile.sh
Updated environment templates for frontend runtime port consistency (8080):
.env.example
ops/.env.example
Updated README to include Production Proxy Profile section and references.
Coverage vs. Acceptance Criteria
Production profile documented and tested
Met:
documented profile files and deployment rules
CI validation workflow enforces profile guardrails on push/PR
local validation script passes (PASS)
CORS behavior is predictable and secure
Met:
explicit per-environment CORS recommendations (dev/staging/prod)
production profile enforces explicit HTTPS origin (no wildcard)
Validate no mixed-content in HTTPS deployments
Met:
frontend API resolver includes HTTPS mixed-content protection
profile prescribes relative API base (/api/v1)
CI checks include mixed-content guard verification
Additional note
Frontend non-root runtime startup reliability was addressed by moving NGINX PID path to a writable location (/tmp/nginx/nginx.pid) while keeping non-root execution.
## NX-203 Completed
Implemented a secure and repeatable proxy deployment profile with documented CORS policy and HTTPS guardrails.
### What was delivered
- Added production proxy profile assets:
- `ops/profiles/prod/.env.production.example`
- `ops/profiles/prod/nginx/nexapg.conf`
- Added deployment documentation:
- `docs/deployment/proxy-production-profile.md`
- Added CI guardrail validation:
- `.github/workflows/proxy-profile-validation.yml`
- `ops/scripts/validate_proxy_profile.sh`
- Updated environment templates for frontend runtime port consistency (`8080`):
- `.env.example`
- `ops/.env.example`
- Updated README to include Production Proxy Profile section and references.
### Coverage vs. Acceptance Criteria
- **Production profile documented and tested**
Met:
- documented profile files and deployment rules
- CI validation workflow enforces profile guardrails on push/PR
- local validation script passes (`PASS`)
- **CORS behavior is predictable and secure**
Met:
- explicit per-environment CORS recommendations (`dev/staging/prod`)
- production profile enforces explicit HTTPS origin (no wildcard)
- **Validate no mixed-content in HTTPS deployments**
Met:
- frontend API resolver includes HTTPS mixed-content protection
- profile prescribes relative API base (`/api/v1`)
- CI checks include mixed-content guard verification
### Additional note
- Frontend non-root runtime startup reliability was addressed by moving NGINX PID path to a writable location (`/tmp/nginx/nginx.pid`) while keeping non-root execution.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Provide a secure and repeatable proxy deployment profile.
Scope
Acceptance Criteria
NX-203 Completed
Implemented a secure and repeatable proxy deployment profile with documented CORS policy and HTTPS guardrails.
What was delivered
ops/profiles/prod/.env.production.exampleops/profiles/prod/nginx/nexapg.confdocs/deployment/proxy-production-profile.md.github/workflows/proxy-profile-validation.ymlops/scripts/validate_proxy_profile.sh8080):.env.exampleops/.env.exampleCoverage vs. Acceptance Criteria
Production profile documented and tested
Met:
PASS)CORS behavior is predictable and secure
Met:
dev/staging/prod)Validate no mixed-content in HTTPS deployments
Met:
/api/v1)Additional note
/tmp/nginx/nginx.pid) while keeping non-root execution.