配置HTTPS服務

来源:http://www.cnblogs.com/Sunzz/archive/2017/07/26/7242195.html
-Advertisement-
Play Games

環境為CentOS 7.3、httpd2.4.6 一 搭建證書 說明: 1 生成私鑰 2 生成自簽證書 3 為CA提供所需的目錄及文件 (1)所需目錄,如果無,則創建 (2)所需文件 (3) 4 在client上進行如下操作 (1)創建放置公鑰私鑰的文件夾 (2)生成自己的私鑰 (3)請CA為自己生 ...


環境為CentOS 7.3、httpd2.4.6

一 搭建證書

說明:

CA 主機為192.168.29.3
client主機為 192.168.29.100

1 生成私鑰

[root@centos7 ~]# (umask 077 ; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
Generating RSA private key, 4096 bit long modulus
.....................++
...........................................................................................................................................................................................++
e is 65537 (0x10001)

2 生成自簽證書

[root@centos7 ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem  -out /etc/pki/CA/cacert.pem -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:BeiJing
Organization Name (eg, company) [Default Company Ltd]:Company
Organizational Unit Name (eg, section) []:OPS
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:
[root@centos7 ~]#

3 為CA提供所需的目錄及文件

(1)所需目錄,如果無,則創建

    /etc/pki/CA/certs/
    /etc/pki/CA/crl/
    /etc/pki/CA/newcerts/

(2)所需文件

[root@centos7 ~]# touch  /etc/pki/CA/serial #序列號文件
[root@centos7 ~]# touch  /etc/pki/CA/index.txt #資料庫文件

(3)

[root@centos7 ~]# echo 01 > /etc/pki/CA/serial #維護ca的序列號

4 在client上進行如下操作

(1)創建放置公鑰私鑰的文件夾

[root@CentOS7 ~]# mkdir /etc/httpd/ssl

(2)生成自己的私鑰

[root@CentOS7 ~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
Generating RSA private key, 2048 bit long modulus
.......................................+++
...................................+++
e is 65537 (0x10001)
[root@CentOS7 ~]#

(3)請CA為自己生成公鑰

[root@CentOS7 ~]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BeiJing
Locality Name (eg, city) [Default City]:BeiJing
Organization Name (eg, company) [Default Company Ltd]:Company
Organizational Unit Name (eg, section) []:OPS
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

(4)把生成的公鑰發送給CA

[root@CentOS7 ~]# scp  /etc/httpd/ssl/httpd.csr [email protected]:/tmp/
The authenticity of host '192.168.29.3 (192.168.29.3)' can't be established.
ECDSA key fingerprint is f2:2e:89:a2:8d:22:22:9c:a9:f8:c9:19:18:d3:b6:c4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.29.3' (ECDSA) to the list of known hosts.
[email protected]'s password: 
httpd.csr                               100% 1005     1.0KB/s   00:00  

5 在CA主機上為client簽證

[root@centos7 ~]# openssl ca -in /tmp/httpd.csr  -out /etc/pki/CA/certs/httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Jun  3 02:54:23 2017 GMT
            Not After : Jun  3 02:54:23 2018 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = BeiJing
            organizationName          = Company
            organizationalUnitName    = OPS
            commonName                = www.test.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                5D:A9:5A:90:29:F3:3A:7F:76:BE:21:78:14:80:E5:FB:5E:03:D8:D9
            X509v3 Authority Key Identifier: 
                keyid:9E:1E:F3:84:4D:D0:79:E2:BD:DD:A8:50:29:6C:BA:0C:21:60:CA:96
Certificate is to be certified until Jun  3 02:54:23 2018 GMT (365 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

6 把簽署的證書發給client

[root@centos7 ~]# scp  /etc/pki/CA/certs/httpd.crt   [email protected]:/etc/httpd/ssl/
The authenticity of host '192.168.29.100 (192.168.29.100)' can't be established.
ECDSA key fingerprint is 32:16:f3:2d:78:65:9f:a0:31:6c:dc:b9:24:e7:5a:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.29.100' (ECDSA) to the list of known hosts.
[email protected]'s password: 
httpd.crt                               100% 5711     5.6KB/s   00:00    

二 HTTPS配置

7 安裝mod_ssl模塊

[root@CentOS7 ~]# yum install mod_ssl -y

8 修改配置文件/etc/httpd/conf.d/ssl.conf

DocumentRoot "/data/https"
ServerName www.test.com:443
    <Directory "data/https">
         AllowOverride None
         Require all granted
        </Directory>
SSLCertificateFile /etc/httpd/ssl/httpd.crt

SSLCertificateKeyFile  /etc/httpd/ssl/httpd.crt

註意:

並修該/etc/httpd/ssl/httpd.crt、/etc/httpd/ssl/httpd.crt兩個文件的屬性,確保apach為可讀就行,當然也可放在預設文件夾下,就不需要修改許可權了。
[root@CentOS7 ~]#chmod  +r  /etc/httpd/ssl/httpd.key

9 檢查語法

[root@CentOS7 ~]# httpd -t
Syntax OK

10 修給預設頁面

[root@CentOS7 ~]# echo "www.test.com" > /data/https/index.html

11 啟動http服務

[root@CentOS7 ~]# systemctl start httpd.service

12 把CA 的自簽證書傳到桌面

[root@centos7 ~]# sz /etc/pki/CA/cacert.pem

改名為cacert.crt

雙擊導入IE瀏覽器

13 配置DNS解析

 www.test.com 為192.168.29.100

或者 修改windows 下的C:\Windows\Systeme32\drivers\etc\hosts文件

192.168.29.100  www.test.com    

14 打開IE瀏覽器測試

輸入https://www.test.com

好了 成功了 好用成就感呀!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • zabbix版本: 3.2.5 zabbix 自帶的windows模板中沒有監控cpu使用率的,可以在模板里自己添加 1. 配置 > 模板 > Template OS Windows 2. 監控項 > 添加監控項 應用集 : CPU 3. 圖形 > 添加圖形 取個名稱, 監控項選擇剛纔的新建的 4. ...
  • 紅帽安裝rpm安裝MySQL時爆出警告: 警告:MySQL-server-5.5.46-1.linux2.6.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY 原因:這是由於yum安裝了舊版本的GPG keys造成的 解決辦法:後面加 ...
  • 回到目錄 Swarm概念 Swarm是Docker公司推出的用來管理docker集群,它將一群Docker宿主機變成一個單一的,虛擬的主機。Swarm使用標準的Docker API介面作為其前端訪問入口,換言之,各種形式的Docker Client(docker client in Go, dock ...
  • I2C匯流排是由Philips公司開發的一種簡單、雙向二線制同步串列匯流排。它只需要兩根線即可在連接於匯流排上的器件之間傳送信息。 To control multi-master IIC-bus operations, values must be written to the following reg ...
  • linux無法解析主機 xxx: 解決方法: 1. sudo gedit /etc/hosts 找到如下行: 127.0.1.1 XXX 將其修改為: 127.0.1.1 (你現在的主機名) ...
  • 一.liunx目錄結構: (1)/bin中 用戶二進位文件 包含二進位可執行文件。 在單用戶模式下,你需要使用的常見Linux命令都位於此目錄下。系統的所有用戶使用的命令都設在這裡。 (2)/sbin目錄 系統二進位文件 就像/bin,/sbin同樣也包含二進位可執行文件。 但是,在這個目錄下的li ...
  • 最終功能: 無線路由器的主要功能,網口WAN接入,USB無線網卡AP熱點輸出,連上wifi之後跳轉到認證頁面,點擊認證方可上網,有效時間10分鐘,認證成功之後自動訪問指定網址。 文章結尾有編譯好的刷機包下載 硬體準備: 1.Raspberry Pi 2 model B 2.USB無線網卡,我使用的是 ...
  • 一、前言 最近在做一個項目的時候使用了 中的 (分散式事務),當項目開發完成以後,調用的時候遇到了 的問題,在查閱了相關資料後將這個問題解決了,大致的問題主要是使用了分散式事務,而無法訪問到資料庫的問題,網上很多解決方法,都是啟動一下服務,然後再修改服務組件的選項,但是當Web伺服器與資料庫不在同一 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...