Apache 配置多個HTTPS站點

工做中常常會遇到多個站點實現https訪問,並指向同一個網頁,本文將詳解如何在Centos 環境下配置Apache多站點實現HTTPS訪問。html

準備工做

OS:CentOS release 6.8 (Final)
Web:Apachenode

安裝Apache

一、安裝Apacheweb

[root@node1 ~]# yum install httpd -y

二、啓動服務vim

[root@node1 ~]# service  httpd start
Starting httpd:                                            [  OK  ]
[root@node1 ~]#

三、修改測試頁面瀏覽器

[root@node1 ~]# cat /var/www/html/index.html 
<h1>
Apache Test Page~
</h1>

四、測試訪問
Apache 配置多個HTTPS站點dom

實現HTTPS訪問

一、安裝SSL模塊ide

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

二、檢測測試

[root@node1 ~]# cd /etc/httpd/modules/
[root@node1 modules]# ll | grep ssl
-rwxr-xr-x 1 root root 181872 Oct 20  2017 mod_ssl.so

三、上傳證書文件
這裏咱們能夠到各大廠商去申請免費證書,可知足我的網站的需求,如企業網站,建議購買企業收費證書;網站

[root@node1 ~]# cd /etc/httpd/
[root@node1 httpd]# mkdir ssl/default
[root@node1 httpd]# cd ssl/default
[root@node1 default]# rz
[root@node1 default]# ll
total 12
-rw-r--r-- 1 root root 1683 Apr 13 22:26 1_root_bundle.crt
-rw-r--r-- 1 root root 2008 Apr 13 22:26 2_domaintest.cn.crt
-rw-r--r-- 1 root root 1678 Apr 13 22:26 3_domaintest.cn.key
[root@node1 default]#

四、修改配置google

[root@node1 ~]# cd /etc/httpd/conf.d/
[root@node1 conf.d]# ls
README  ssl.conf  welcome.conf
[root@node1 conf.d]# vim ssl.conf
LoadModule ssl_module modules/mod_ssl.so
Listen 443
<VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName domaintest.cn
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/default/2_domaintest.cn.crt
    SSLCertificateKeyFile /etc/httpd/ssl/default/3_domaintest.cn.key
    SSLCertificateChainFile /etc/httpd/ssl/default/1_root_bundle.crt
</VirtualHost>
配置文件參數 說明
LoadModule 加載SSL模塊
Listen 監聽443端口
DocumentRoot 網頁目錄
ServerName 站點域名
SSLEngine on 啓用SSL功能
SSLCertificateFile 證書文件
SSLCertificateKeyFile 私鑰文件
SSLCertificateChainFile 證書鏈文件

五、重啓服務

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

能夠先試用httpd -t 檢測一下配置文件是否正確,而後再重啓服務;

[root@node1 ~]# service  httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

六、檢測端口是否監聽

[root@node1 conf.d]# ss -ntl
State      Recv-Q Send-Q       Local Address:Port         Peer Address:Port 
LISTEN     0      128                      *:80                      *:*     
LISTEN     0      128                      *:22                      *:*     
LISTEN     0      100              127.0.0.1:25                      *:*     
LISTEN     0      128                      *:443                     *:*     
[root@node1 conf.d]#

七、測試訪問

  • 建議使用google瀏覽器進行測試訪問,f12查看,會顯示「This page is secure (valid HTTPS).」,說明證書配置正確;
    Apache 配置多個HTTPS站點

    配置多個HTTPS站點

    一、上傳證書文件

    [root@node1 ~]# cd /etc/httpd/ssl/
    [root@node1 ssl]# mkdir web
    [root@node1 ssl]# cd web/
    [root@node1 web]# rz

    二、修改配置文件

    LoadModule ssl_module modules/mod_ssl.so
    Listen 443
    NameVirtualHost *:443
    # 第一個虛擬主機
    <VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName domaintest.cn
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/default/2_domaintest.cn.crt
    SSLCertificateKeyFile /etc/httpd/ssl/default/3_domaintest.cn.key
    SSLCertificateChainFile /etc/httpd/ssl/default/1_root_bundle.crt
    </VirtualHost>
    #第二個虛擬主機
    <VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName web.domaintest.cn
    SSLEngine on
    SSLCertificateFile /etc/httpd/ssl/web/2_web.domaintest.cn.crt
    SSLCertificateKeyFile /etc/httpd/ssl/web/3_web.domaintest.cn.key
    SSLCertificateChainFile /etc/httpd/ssl/web/1_root_bundle.crt
    </VirtualHost>

    三、重啓服務

    [root@node1 conf.d]# service  httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                            [  OK  ]
    [root@node1 conf.d]#

    四、測試訪問
    Apache 配置多個HTTPS站點
    Apache 配置多個HTTPS站點

到這裏,Apache多站點https就實現了~

相關文章
相關標籤/搜索