編譯成https

 

https的網址

越來越多的瀏覽器,只接受https的網址,尤其最常用的chrome,這讓編譯測試angular時,造成很大的困擾,以下是從網路上找到的解法:

angular 編譯為https的網址

1. 透過 OpenSSL 工具來產生可信賴的 SSL/TLS 自簽憑證。

2. 當你安裝好 Git for Windows 的時候,其實就已經內建了 OpenSSL 工具,預設執行檔路徑為 C:\Program Files\Git\usr\bin\openssl.exe,到此目錄中去執行以下指令,但是要用

Administrator的身分,或是搜尋到cmd.exe時,以Administrator的身分去執行,再切換到C:\Program Files\Git\usr\bin\openssl.exe

3.在此目錄中建ssl.conf檔,內容如下:

[req]

prompt = no

default_md = sha256

default_bits = 2048

distinguished_name = dn

x509_extensions = v3_req

 

[dn]

C = TW

ST = Taiwan

L = Taipei

O = Martin Studio

OU = IT Department

emailAddress = u12345g@yahoo.com.tw

CN = localhost

 

[v3_req]

subjectAltName = @alt_names

 

[alt_names]

DNS.1 = *.localhost

DNS.2 = localhost

IP.1 = 172.28.112.1

 

 

 

4.執行以下指令

openssl req -x509 -new -nodes -sha256 -utf8 -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config ssl.conf

會產生server.crt server.key兩個檔案

5.再執行以下指令

openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx

會產生server.pfx檔案備用,用於IIS,在此不會用到

6. server.crt server.key兩個檔案複製到angular專案的目錄中

7. server.crt再匯入Cert:\CurrentUser\Root(受信任的根憑證授權單位)

8. 執行如下指令

ng serve  --ssl --ssl-key server.key --ssl-cert server.crt

ng serve -o --ssl --ssl-key server.key --ssl-cert server.crt


留言