Lệnh hiện tại: ng serve --host --public $IP:$PORT
Kết quả trên trang web của tôi:
Tiêu đề máy chủ lưu trữ không hợp lệ
Câu trả lời:
Các --disable-host-check
lá cờ hoạt động tốt nếu bạn cần phải chạy từ Cloud9.
Tôi sử dụng lệnh sau:
ng serve --open --host $IP --port $PORT --disable-host-check
--disable-host-check
bạn sẽ nhận được một cảnh báo trong bảng điều khiển. WARNING: Running a server with --disable-host-check is a security risk. See
medium.com/webpack/… để biết thêm thông tin.
Bạn cần chỉ định máy chủ
ng serve --port 8080 --host 123.34.56.78
Xem vấn đề này
Chỉnh sửa dòng sau trong
node_modules/webpack-dev-server/lib/Server.js
(dòng 425), đổi thành:return true;
Tôi đang sử dụng Cloud9 IDE sau đó chạy:
ng serve --port 8080 --host 0.0.0.0
. Bây giờ hoạt động tốt.
ng serve --host 0.0.0.0 --disable-host-check
Điều này phù hợp với tôi:
ngrok http --host-header=rewrite PORT
ví dụ :
ngrok http --host-header=rewrite 4200
Trong trường hợp của tôi, tôi sử dụng tên máy chủ của mình để cập nhật tệp / etc / hosts.
vi /etc/hosts
và thêm dòng họ tên máy chủ của bạn.
127.0.0.1 myHostName.com
để kết nối máy chủ của tôi,
ng serve -o
Đã xảy ra lỗi khi kết nối với myHostName.com:4200 .
vì vậy, tôi đã làm như thế này,
ng serve --host 0.0.0.0 --disableHostCheck true
Đang kết nối lại với myHostName.com:4200 :)
Sử dụng lệnh dưới đây phù hợp với tôi.
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
Trong angle.json, thêm phần sau vào tùy chọn kiến trúc -> phục vụ ->
"disableHostCheck": true
Có câu trả lời từ Trang sự cố Github này
ng serve
(và có thể bạn muốn phát triển)
Tôi đã gặp phải lỗi tương tự sau khi triển khai ứng dụng góc cạnh của mình trên phiên bản AWS EC2 có hình ảnh bitnami. Sau đó, tôi đã khởi chạy ứng dụng của mình bằng lệnh dưới đây và nó hoạt động tốt.
ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true
Đã thử nghiệm trên phiên bản Angular và máy chủ Amazon bên dưới.
Angular CLI: 6.0.8
Node: 8.11.3
OS: linux x64
Angular: 5.2.8
ng tùy chọn lệnh đã được thay đổi, bây giờ sử dụng configuration
thay vì env
. Lệnh phù hợp với tôi là
ng serve --configuration=dev --port 4009 --host 0.0.0.0 --publicHost myhost.com
Không bao giờ sử dụng --disable-host-check
trên máy chủ công cộng. Angular sẽ cảnh báo bạn nếu bạn sử dụng nó. Nó có thể hoạt động nhưng nó là một vấn đề bảo mật nghiêm trọng. Bạn sẽ nhận được thông báo này nếu bạn sử dụng cờ đó.
CẢNH BÁO: Chạy máy chủ với --disable-host-check là một rủi ro bảo mật. Xem https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a để biết thêm thông tin.
Hãy dành chút thời gian để đọc bài viết đó rất đáng đọc.
ng serve --host 0.0.0.0 --public-host sub.myhost.com
Điều này thực sự đã được giải quyết trong một trong những bình luận video trên youtube nhờ Mateusz Sawa
Tới đây để kiểm tra xem nó ra.
- chỉ định một máy chủ trong package.json không hoạt động nữa -
chỉ cần lưu ý rằng không cần thiết phải sử dụng lệnh đã được sử dụng trong video, các hướng dẫn dưới đây là đủ để làm cho ứng dụng hoạt động bình thường angular-cli
phát triển
trước tiên bạn cần tìm các máy chủ trong vv / thư mục
gõ cd ..
vào bảng điều khiển cho đến khi bạn đến thư mục gốc của máy linux và luôn kiểm tra bằngls
những gì được liệt kê
nếu bạn thấy tệp máy chủ lưu trữ , bạn đang ở đúng vị trí và sau đó sử dụngsudo vi hosts
để chỉnh sửa nó
thêm dòng bên dưới tất cả các địa chỉ ip "0.0.0.0 yourworkspace-yourusername.c9users.io " (tất nhiên không có dấu ngoặc kép :-))
cũng trong package.json thay đổi "start": "ng serve -H yourworkspace-yourusername.c9users.io "
sau đó bạn chỉ cần đi tới thư mục ứng dụng và khởi động ứng dụng trong thiết bị đầu cuối với npm start
kiểm tra nó ngay bây giờ và nó đã hoạt động
ng phục vụ --host 0.0.0.0 --port 1234 --public-host mydomain.com
Điều này làm việc cho tôi.
Tham khảo thêm tại: https://github.com/angular/angular-cli/issues/6070
sử dụng cờ công cộng. ví dụ:ng serve --host <workspace>-<username>.c9users.io --public
Bạn chỉ nên thay đổi 0.0.0.0 thành địa chỉ IP cục bộ của mình như 192.168.1.42 và nó sẽ hoạt động.
ng serve --host 192.168.1.42
Vấn đề là bạn chỉ có thể truy cập vào liên kết mà bạn đã chỉ định trong tham số --public. Trong trường hợp của tôi, tôi đã cung cấp địa chỉ IP trong --public và cố gắng truy cập địa chỉ đó bằng miền mà tôi đã đăng ký với IP đó. Nhưng ng ràng buộc nó cho máy chủ duy nhất được cung cấp trong --public.
Để giải quyết vấn đề này, tôi cung cấp một tham số hơn: disable-host-check
. Hoàn thành lệnh:ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x
Để biết thêm, bấm vào đây
Tôi đã gặp lỗi này khi cố gắng truy cập ứng dụng của chúng tôi bằng localtunnel
tiện ích.
Đề xuất của @tarn (từ một nhận xét về câu trả lời được chấp nhận) về việc thêm --disableHostCheck true
vào ng serve
lệnh đã thực hiện một mẹo nhỏ.
Đây là giải pháp nếu ai đó vẫn còn mắc kẹt trong invalid host header
vấn đề:
Chạy ng eject
nó sẽ tạo ra webpack.config.js
. Chạy npm install
nếu nó đang yêu cầu. Thêm bên dưới "disableHostCheck":true
để devServer
ở webpack.config.js
. Như bên dưới:
"devServer": {
"historyApiFallback": true,
"disableHostCheck" : true //<-- add this line
}
Sau đó, trong tùy chọn package.json
thay đổi tệp start
dưới ng
như thế này
"start": "webpack-dev-server --host 0.0.0.0 --port YOURPORT --public YOURIP:YOURPORT"
Bây giờ chạy góc với npm start
lệnh. Đó là nó.
Thay đổi dòng 425 trong tệp "node_modules / webpack-dev-server / lib / Server.js" từ false thành true. I E,
Before: trả về false;
Đã cập nhật: return true;