如何自簽名把http網站變成https網站(https自簽名方法)


在部署過程中,用戶要求把http改成https,並且不花錢不開放外網,只是在內網上使用。

這個需求只能是通過ssl自簽名方法進行解決,方法如下:

1、在linux系統中安裝nginx;

2、在nginx安裝目錄下輸入命令:mkdir ssl;

3、在ssl目錄下創建文件:touch MyCompanyCA.cnf 

並在配置文件輸入以下內容:

[ req ]
distinguished_name = req_distinguished_name
x509_extensions = root_ca

[ req_distinguished_name ]

# 配置證書信息
countryName = CN (2 letter code)
countryName_min = 2
countryName_max = 2
stateOrProvinceName = SiChuan
localityName = ChengDu
0.organizationName = Mycompany
organizationalUnitName = technology
commonName = develop
commonName_max = 64
emailAddress = xxxxxxxx@gmail.com
emailAddress_max = 64

[ root_ca ]
basicConstraints = critical, CA:true

4、繼續創建文件:touch MyCompanyLocalhost.ext

並在文件中輸入以下內容:

subjectAltName = @alt_names
extendedKeyUsage = serverAuth

[alt_names]

# 域名,如有多個用DNS.2,DNS.3…來增加

DNS.2=你的域名

# IP地址
IP.1 = 你的ip

5、保存以上2個文件,然后輸入以下腳本:

openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"

openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes

openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111

6、等到的目錄結構如下:

 

7、先給你的nginx.conf備份(改配置文件先備份是個好習慣),cp nginx.conf nginx.conf_bak

8、配置nginx.conf:輸入以下代碼,文件路徑修改為你的路徑:

 

 9、重啟nginx :

nginx -s reload

10、登錄相關網站,把證書設置為受信任的即可。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM