win2022服务器apache配置https(ssl)真实环境实验(避坑之作)不依赖宝塔小皮等集成环境

本次实验背景:

完全参考官方 https://cloud.tencent.com/document/product/400/4143 文档流程,没有搞定,于是写下避坑之作。

服务器:腾讯云轻量应用服务器

操作系统: Windows Server 2022 DataCenter 64bit CN

apache版本:Apache 2.4.59

证书下载及存放

  1. 下载证书
    这里完全按照官方的来
  2. 证书存放
    如下图所示,为方便管理和引用,我在服务器的conf下新建了目录ssl,把需要用到的三个证书(除CSR外)放到这里

一、开启ssl配置文件

  1. 使用文本编辑器,打开 Apache 服务器 conf 目录下 httpd.conf 文件,并删除以下字段前 # 注释符。
conf 复制代码
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf


  1. 将httpd-ssl.conf中虚拟机部分代码注释

二、配置虚拟机

打开Apache24\conf\extra\目录,将httpd-vhosts.conf复制一份备份,清空httpd-vhosts.conf内容加入下面内容,*****包含作者真实域名信息,打了马赛克。

conf 复制代码
<VirtualHost *:80>
    DocumentRoot "C:\WF\www\html\****"
   <Directory "C:\WF\www\html\****">
        RewriteEngine on
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    </Directory>
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "C:\WF\www\html\****"
    ServerName ****.com
    ServerAlias www.****.com
    #ssl
    SSLEngine on
    <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory "${SRVROOT}/cgi-bin">
    SSLOptions +StdEnvVars
    </Directory>
    #ssl-key
    SSLCertificateFile "${SRVROOT}/conf/ssl/****.com.crt"
    SSLCertificateKeyFile "${SRVROOT}/conf/ssl/****.com.key"
    SSLCertificateChainFile "${SRVROOT}/conf/ssl/root_bundle.crt"
    #ssl-key-END
    BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

    #   Per-Server Logging:
    #   The home of a custom SSL log file. Use this when you want a
    #   compact non-error SSL logfile on a virtual host basis.
    CustomLog "${SRVROOT}/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

三、测试配置文件+重启apache服务

cmd 复制代码
net stop apache
httpd -t
net start apache
相关推荐
消失的旧时光-194311 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
仙俊红13 分钟前
从 Filter / Interceptor 到 HTTPS
网络协议·http·https
游戏开发爱好者813 分钟前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
艾莉丝努力练剑18 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
Trouvaille ~44 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
2501_915106322 小时前
app 上架过程,安装包准备、证书与描述文件管理、安装测试、上传
android·ios·小程序·https·uni-app·iphone·webview
一方热衷.2 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
m0_694845572 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
*小海豚*2 小时前
在linux服务器上DNS正常,但是java应用调用第三方解析域名报错
java·linux·服务器
消失的旧时光-19432 小时前
Linux 编辑器入门:nano 与 vim 的区别与选择指南
linux·运维·服务器