ng serve not working behind reverse proxy basehref/servepath
- Dominant language
- TypeScript
- Stars
- 27k
- Forks
- 11.8k
- Avg merge
- 14h 23m
- Merged PRs (30d)
- 162
Description
### Command
serve
### Is this a regression?
- [X] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
before vite
### Description
I provide remote training for Angular using VSCode in the browser.
It is no longer possible to use the vscode port forwarding to access the ng dev server as basehref and servepath combinations to not yield the correct result when @angular node resources are to be loaded. It works for all other assets/files in the project.
### Minimal Reproduction
Use code-server oder vscode server access through web browser.
ng new
ng serve --host 0.0.0.0 --disable-host-check
Open the forwarded port, URL becomes f.e.
https://student01.remote-training.de/proxy/4200/
### Exception or Error
_No response_
### Your Environment
```text
Angular CLI: 17.3.6
Node: 20.12.2
Package Manager: npm 10.5.0
OS: linux x64
Angular: 17.3.7
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1703.6
@angular-devkit/build-angular 17.3.6
@angular-devkit/core 17.3.6
@angular-devkit/schematics 17.3.6
@angular/cli 17.3.6
@schematics/angular 17.3.6
rxjs 7.8.1
typescript 5.4.5
zone.js 0.14.5
```
### Anything else relevant?
I tried various configuration combinations using prebundle, basehref and servepath only to experience worse problems like beeing redirected to https://student01.remote-training.de/proxy/4200/proxy/4200/
Contributor guide
Research direction
Start by reproducing the reported `ng serve --host 0.0.0.0 --disable-host-check` setup through the forwarded `/proxy/4200/` URL. Investigate how the `basehref` and `servepath` options affect Angular node-resource URLs and redirects, including the duplicated `/proxy/4200/` case. Done means the forwarded dev server loads those resources without an incorrect path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- cli, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100