准备:
1. UsbWebServer架设网站构造器(自带Apache服务)
2. Apache2.4 (配置反向代理到UsbWebServer的Apache)
3. SSL证书 (保证https安全访问)
4. CSR生成工具(上面网址有该工具)
5. ftp工具(传资源到远程虚拟机)
6.RDO管理器(方便部署到服务机)
步骤:
1. 运用RDO管理器,打开所需部署的服务机,部署UsbWebServer(端口自定,root dir 自定义,为所映射的资源空间),保证能用http正常访问目标资源;(如下图)
2. 下载Apache2.2,配置成能https访问,
(参考:https://blog.csdn.net/tdcqfyl/article/details/79023431)
取消ssl及proxy相关注释
#LoadModule ssl_module modules/mod_ssl.so (去掉前面的#号)
#Include conf/extra/httpd-ssl.conf (去掉前面的#号)
#LoadModule proxy_module modules/mod_proxy.so (去掉前面的#号)
#LoadModule proxy_http_module modules/mod_proxy_http.so (去掉前面的#号)
cmd进入命令行,进入apache安装目录的bin目录。
执行命令:set OPENSSL_CONF=..\conf\openssl.cnf
执行命令:openssl genrsa -out server.key 1024
完成后,会在bin目录下生成server.key文件
执行命令:openssl req -new -out server.csr -key server.key
完成后,会在bin目录下生成server.csr文件,其中 Common Name
执行命令:openssl genrsa -out ca.key 1024
完成后,会在目录bin下生成ca.key文件
执行命令:openssl req -new -x509 -days 365 -key ca.key -out ca.crt
完成后,会在目录bin下生成ca.crt文件,此处填写的信息与2.3步中类似。
执行命令:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key
此处如果没有创建好相关目录,将会报如下错误:
根据提示,手动创建相关目录:
在bin下新建demoCA文件夹
bin/demoCA
在demoCA下新建index.txt
bin/demoCA/index.txt
在demoCA下新建serial.txt,其内容为01,重命名删除.txt后缀
bin/demoCA/serial
在demoCA下新建newcert文件夹
bin/demoCA/newcerts
完成后,会在bin目录下生成server.crt文件。demoCA目录的最终结构如下:
根据需要修改httpd-ssl.conf的默认端口号"443",这里将所有的443修改为"6443",同时修改ServerName。
具体如下:
Listen 6443
ServerName localhost
提示:此处如果保持https默认的443端口,则访问的时候,无需再加端口号。
在apache安装目录的conf目录下,新建一个key目录,名称随意,然后将bin目录中的相关证书复制到key目录中。key目录最终的文件结构如下:
接着修改conf/extra/httpd-ssl.conf文件中的如下内容:
SSLCertificateFile "xxx/conf/key/server.crt"
SSLCertificateKeyFile "xxx/conf/key/server.key"
SSLCACertificateFile "xxx/conf/key/ca.crt"
#SSLVerifyClient require (去掉前面的#号,进行客户端验证时需要)
#SSLVerifyDepth 1 (去掉前面的#号,把10改为1,进行客户端验证时需要)
在浏览器中,输入https://localhost:6443,如果页面出现提示 It works! ,则说明https配置成功了。
3. 通过反向代理,在..\Apache24\conf\extra\httpd-vhosts.conf中添加:
# ServerAdmin [email protected]
# ServerName hipchat.test.com
#
# Order deny,allow
# Allow from all
#
SSLEngine On
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLCertificateFile "D:/tools/Apache24/conf/key/bigworld.mydealscode.com.crt"
SSLCertificateKeyFile "D:/tools/Apache24/conf/key/bigworld.mydealscode.com.key"
SSLCertificateChainFile "D:/tools/Apache24/conf/key/issuer.crt"
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
4.cmd到终端,进入到..\Apache2.2\bin目录,执行httpd -k install(有错误的话,去调试)来完成安装Apache2.2,点击电脑的开始,查找‘服务’或者‘Service’,开启Apache2.2。
5. 获取子域名
域名管理:
https://dcc.godaddy.com/manage/mydealscode.com/dns#divDnsManagement
6. 获取证书并替换生成的自签署证书
在您完成申请数安时代GDCA服务器证书的流程后,登录系统将会下载一个压缩文件,使用里面的ApacheServer.zip文件;
解压之后获得证书如下图:
请找到之前提交csr时生成的.key私钥文件,该文件为证书的私钥,后面配置要用到;
打开apache安装目录下conf目录中的httpd.conf文件,路径如:/usr/local/apache/conf/httpd.conf,找到以下两项去掉前面的#注释,保存并退出。(如果找不到请确认是否编译过 OpenSSL 插件)
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
打开Apache2.x/conf/extra/目录下的httpd-ssl.conf文件,修改如下语句:
ServerName www.trushtauth.cn:443 #您的网站域名
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE
找到如下三个选项SSLCertificateFile、SSLCertificateKeyFile和SSLCertificateChainFile这三个配置项,将testweb.95105813.cn.crt和tetweb.95105813.cn.key 及中级证书issuer.crt文件上传到指定目录(这里是/usr/local/apache/conf/sslcert,windows路径自己指定)
ServerName www.domain.com:443 #网站域名
DocumentRoot "/usr/local/apache/www" #网站主目录和80端口配置保持一致
SSLEngine onSSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE
SSLCertificateFile "/usr/local/apache/conf/sslcert/testweb.95105813.cn.crt" #证书公钥
SSLCertificateKeyFile "/usr/local/apache/conf/sslcert/testweb.95105813.cn.key" #证书私钥
SSLCertificateChainFile "/usr/local/apache/conf/sslcert/issuer.crt" #中级证书
7.重启Apache服务器,完成。(都能访问目标资源)