2016-12-16 111 views
6


我想承載一個反應的應用程序,我創建和使用Facebook樣板本地測試。
客戶端應用程序與我使用node.js製作的API進行交互,並且我沒有設置安全連接(使用發送我的SSL證書的node.js客戶端進行測試)的問題。
不過,我遇到困難的時候還用反應送我的SSL證書,而不是自簽署一個引起我使用Chrome,並且試圖訪問https://example.net:3000遇到這個錯誤:如何使用create-react-app提供SSL證書?

你的連接是不是私人(NET:ERR_CERT_AUTHORITY_INVALID)

的文件並沒有完全幫助我:

請注意,服務器將使用自簽名的證書,桑尼我們的網頁瀏覽器幾乎肯定會在訪問該頁面時顯示警告。 https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#using-https-in-development

我如何使用我自己的SSL證書(這是我在另一個應用程序已經在使用我的域和工作就像一個魅力)而不是此自簽名?我錯過了什麼 ?

回答

3

您的服務器提供來自該端口的文件需要配置爲使用您的SSL證書。我猜你正在使用該端口上的webpack-dev-server(這就是npm start在create-react-app中所做的),並且可能在端口80上有不同的服務器(apache,nginx等)?

您可以使用已配置的服務器爲您的編譯文件提供服務,也可以配置webpack-dev-server以使用您的SSL證書。

爲此,您可以使用webpack-dev-server的--cert選項。請參閱https://webpack.github.io/docs/webpack-dev-server.html

如果要使用調用自定義啓動腳本的npm start來執行此操作,則必須編輯該啓動腳本。您可能需要首先使用eject命令,該命令會將所有配置代碼轉儲到您的回購站中,以便您可以更改它。

下面是啓動腳本的源代碼:https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/scripts/start.js#L230

我還應該注意到的WebPack-dev的服務器並不打算在生產環境中使用。

玩得開心!

+0

拯救生命!非常感謝。 運行彈出後,我配置了webpack-dev-server,並且工作正常。 –

+0

很高興我能夠幫助! :) –

+0

@MontasarJarraya也許你可以發佈自己的解決方案一步一步的初學者? –