簡體   English   中英

你如何在開發中從https:// localhost:4200提供ember-cli

[英]How do you serve ember-cli from https://localhost:4200 in development

要使我們的身份驗證與我們的ember應用程序一起使用,我們需要從安全網址提供應用程序。 我們有一個自簽名的ssl證書。

如何設置ember-cli以為index.html提供https域。

干杯

另請參閱https://stackoverflow.com/a/30574934/1392763

如果您將始終使用SSL,則可以在項目的.ember-cli文件中設置"ssl": true ,這將導致默認情況下使用SSL的ember serve命令,而不必每次都傳遞命令行標志。

默認情況下,ember-cli將在項目根目錄中查找server.keyserver.crt文件的ssl文件夾,但您也可以使用--ssl-key--ssl-cert選項對其進行自定義以提供替代路徑。

如果您還沒有自簽名的SSL證書進行開發,可以按照以下說明輕松生成一個: https//devcenter.heroku.com/articles/ssl-certificate-self

示例.ember-cli

{
  "disableAnalytics": false,
  // Use SSL for development server by default
  "ssl": true,
  "ssl-key": "path/to/server.key",
  "ssl-cert": "path/to/server.crt"
}

編輯

對於谷歌來說,這已不再適用。 使用ember-cli --ssl

感謝xdumaine 7月12日10:08 ***

強調文字你不能直接來自ember-cli而不把你的手放在我不推薦的代碼中:)

如果你想這樣看: node_modules/ember-cli/lib/tasks/server/express-server.js ,也可以進入node_modules/ember-cli/lib/tasks/server/livereload-server.js

對於那些仍想通過Web服務器的人:

然而,有其他更清潔的解決方案,例如使用nginx作為(反向)代理:)或直接從/ dist文件夾上的nginx服務:)反向基本示例與nginx(沒有嘗試與ssl但理論上應該工作:p ):

server {
   listen 443;
   server_name *.example.com;
   ssl on;
   ssl_certificate /path/to/your/certificate.crt;
   ssl_certificate_key /path/to/your/key.key;
   location / {
      proxy_pass http://localhost:4200;
   }
}

我說nginx,但實際上任何網絡服務器都可以做到這一點:)

NaB不要使用ember serve於生產

我使用隧道寶石與pow port-proxying

更新:更多細節

使用真正的Web服務器(如前面的nginx答案)是一個很好的方法,可能更像是您的生產設置。 但是,我管理了很多不同的項目,對於管理我所有項目的nginx配置文件並不感興趣。 Pow可以很容易地在一台開發機器上的端口80上提供許多不同的項目。

Pow有兩種主要模式。 主要功能是作為Rack應用程序的簡單服務器,可通過自定義本地域訪問,例如http://my-application.dev/ 這是通過將~/.pow/my-application符號鏈接到包含機架應用程序的目錄來完成的。 但是,pow也可以通過創建僅包含端口號的文件(例如echo 4200 > ~/.pow/my-applicationecho 4200 > ~/.pow/my-application自定義本地域的請求代理到指定端口。 這使得在本地使用實際域進行開發變得容易(同樣,作為旁注,子域也可以工作,這非常方便;例如, foobar.my-application.dev也將路由到my-application )。

隧道使用https輕松使用pow。

建立

# Install pow
curl get.pow.cx | sh

# Set up pow proxy for your ember app
echo 4200 > ~/.pow/my-application

# Start your ember server
ember serve # specify a port here if you used something else for pow proxy
# Check that http://my-application.dev correctly shows your ember app in the browser

# Install tunnels
gem install tunnels # possibly with sudo depending on your ruby setup

# Start tunnels
sudo tunnels

# Now https://my-application.dev should work

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM