【Windows】Windows Server 2012 R2 利用PhpStudy部署apache,並在同一IP下部署HTTPS多域名
阿新 • • 發佈:2018-11-27
環境:
伺服器:阿里雲 Windows Server 2012 R2
域名:阿里雲,已備案,已解析
SSL證書:阿里雲,已購買
操作,以阿里云為例:
1.安裝系統更新,關閉IE增強安全配置,開啟防火牆,將常用埠(80,443,3306,8443等)加入入站規則,具體操作如下:
伺服器管理器——Windows 更新——安裝更新;
伺服器管理器——IE增強的安全配置——關閉;
伺服器管理器——Windows 防火牆——啟用;
伺服器管理器——Windows 防火牆——高階設定——入站規則——新建規則——埠——TCP和特定本地埠:80——允許連線——全選——名稱和描述隨意——完成;
同樣操作將443,3306,8443等埠,根據實際情況新增;
2.在阿里雲控制檯的防火牆中新增相應埠的規則;
3.安裝PhpStudy,下載地址:連結: http://phpstudy.php.cn/
4.根據需求切換版本,建議選擇系統服務;
5.根據需求開啟PHP擴充套件和apache模組,下圖僅供參考:
6.下載SSL證書,在PhpStudy\PHPTutorial\Apache\conf下建立cert資料夾,將證書檔案放入;
7.備份Apache\conf下的httpd.conf、vhosts.conf檔案和Apache\conf\extra下的httpd-ssl.conf檔案,開啟httpd.conf,搜尋
LoadModule ssl_module modules/mod_ssl.so LoadModule rewrite_module modules/mod_rewrite.so Include conf/extra/httpd-ssl.conf
去掉前面的#,儲存退出;
8.開啟httpd-ssl.conf,搜尋Listen 443,刪除下面內容:
<VirtualHost _default_:443>
...
...
</VirtualHost>
9.新增如下程式碼:
SSLStrictSNIVHostCheck off # 新增 SSL 協議支援協議,去掉不安全的協議 SSLProtocol all -SSLv2 -SSLv3 # 修改加密套件如下 SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder on <VirtualHost *:443> # 網站1目錄 DocumentRoot "C:\WWW\aaa" # 網站1域名 ServerName aaa.xxx.com # 網站1別名 ServerAlias xxx.com # 網站1目錄 <Directory "C:\WWW\aaa"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> SSLEngine on # 證書公鑰配置 SSLCertificateFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/public.pem" # 證書私鑰配置 SSLCertificateKeyFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/214806726580310.key" # 證書鏈配置 SSLCertificateChainFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/aaa/chain.pem" </VirtualHost> <VirtualHost *:443> # 網站2目錄 DocumentRoot "C:\WWW\bbb" # 網站2域名 ServerName bbb.xxx.com # 網站2目錄 <Directory "C:\WWW\bbb"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> SSLEngine on # 證書公鑰配置 SSLCertificateFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/public.pem" # 證書私鑰配置 SSLCertificateKeyFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/214806726580310.key" # 證書鏈配置 SSLCertificateChainFile "C:/Software/PhpStudy/PHPTutorial/Apache/conf/cert/bbb/chain.pem" </VirtualHost>
多個域名就繼續新增,儲存退出,重啟apache;
10.如果想要網站http強制跳轉到https,開啟httpd.conf,在末尾新增如下程式碼:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(.*)$ https://%{SERVER_NAME}/$1 [L,R]
儲存退出,重啟apache;