首页 > 系统相关 >记录遇到的坑:使用Windows +Apache +Mkcert 生成https的SSL证书

记录遇到的坑:使用Windows +Apache +Mkcert 生成https的SSL证书

时间:2024-12-04 09:36:10浏览次数:3  
标签:httpd ssl Windows 2.199 192.168 SSL ai Mkcert conf

首先,为何要做这样的事情呢?

因为我需要在网站上添加一个功能,就是上传剪贴板图片。

看起来很容易,实际上浏览器对http限制很大,不允许用户访问剪贴板,所以,有两个解决方案:

一,让客户使用按键 Ctrl + v 直接粘贴剪贴板图片,实现上传。

二,把网站改为https。

我让 ai 帮我处理https的事情,(强烈建议使用 chatGPT),ai 给了我解决方案:mkcert生成证书。直接用 ai 的教程来安装即可。局域网ip 192.168.2.199(本机)

mkcert -install

mkcert 192.168.2.199 localhost 127.0.0.1 ::1

接下来,我一步步实现:一,localhost,二,局域网ip 192.168.2.199(本机),三,公网ip(其中的一个坑:实现这个的时候,注意防火墙的入站规则添加443端口,注意用路由器对外公开443端口)

我问了 ai 两个问题:

一、

windows在 Apache 中配置 SSL,并使用 mkcert 生成的证书。  二、  我的 路径是 "E:\GreenSoftware\mkcert\192.168.2.199+3-key.pem",我的apache配置是 D:\AppServ_PHP\Apache24\conf,我的ip是 192.168.2.199,我的webroot是 D:\AppServ_PHP\www,请帮我改 httpd-ssl.conf的配置   以下是注意避坑的地方: 

配置 Apache 启用 SSL

  • 打开 httpd.conf,确保以下行未被注释掉:
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-ssl.conf  

配置 Apache 使用自签名证书

  1. 找到并打开 httpd-ssl.conf 文件,路径一般是 D:/AppServ_PHP/Apache24/conf/extra/httpd-ssl.conf

  2. 确保有这行(这是其中一个坑,不是在httpd.conf里添加,而是在这里添加):

    Listen 443

  3. 配置证书和私钥路径:

    修改配置文件中的以下行,使其指向您刚刚生成的证书和私钥路径:

<VirtualHost _default_:443>
DocumentRoot "D:/AppServ_PHP/www"
ServerName 192.168.2.199:443

SSLEngine on
SSLCertificateFile "E:/certs/myserver.crt"
SSLCertificateKeyFile "E:/certs/myserver.key"

<Directory "D:/AppServ_PHP/www">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

请确保将 SSLCertificateFileSSLCertificateKeyFile 的路径修改为您实际存放证书和私钥的路径。

  其实就是按 ai 的教程走就是了,注意避开上面提到的坑即可。其它有什么不懂的,就直接问 ai 就好了。        

标签:httpd,ssl,Windows,2.199,192.168,SSL,ai,Mkcert,conf
From: https://www.cnblogs.com/harryglory/p/18585558

相关文章

  • Windows 输入法详解
    一、输入法的实现原理 输入法的输入原理主要包括以下几个步骤:输入捕获:用户通过键盘输入字符,输入法截获这些按键事件。对于中文输入,通常是拼音、五笔或其他编码。编码解析:输入法将用户输入的编码(如拼音)解析为可能的汉字或词组候选项。候选项生成:根据输入的编码......
  • Windows API SendInput 详解
      一、SendInput API基本介绍SendInput函数概述SendInput是WindowsAPI中的一个函数,位于user32.dll中。它允许应用程序以一种更直接的方式模拟用户输入设备(如键盘和鼠标)的操作。与一些其他模拟输入的方法(如SendMessage和PostMessage)相比,SendInput提供了一种更高级别......
  • Neo4j APOC-01-图数据库 apoc 插件 windows10 安装
    neo4japoc系列Neo4jAPOC-01-图数据库apoc插件介绍Neo4jAPOC-01-图数据库apoc插件安装neo4jonwindows10Neo4jAPOC-03-图数据库apoc实战使用使用Neo4jAPOC-04-图数据库apoc实战使用使用apoc.path.spanningTree最小生成树如何安装APOC插件安装Neo4j的A......
  • Visual Studio 2022 C++ 生成dll或so文件在windows或linux下用C#调用
    背景开发中我们基本使用windows系统比较快捷,但是部署的时候我们又希望使用linux比较便宜,硬件产商还仅提供了c++sdk!因此我们做二次开发时需要VisualStudio2022在windows下C++生成dll或linux下生成so库文件供C#调用。方案需要确认一件事,目前c++这门语言不是跨平台的第一个问......
  • 再谈Windows消息循环
    一、什么是Windows消息循环概念介绍在Windows操作系统中,消息循环是应用程序处理消息的核心机制。消息是Windows应用程序与操作系统以及应用程序内部不同组件之间通信的基本单元。这些消息可以是由用户操作产生的,如鼠标点击、键盘按键;也可以是系统内部产生的,如窗口大小改变......
  • WPF中嵌入第三方窗体-WindowsFormsHost使用
    嵌入第三方窗体到Windows窗体或控件中,通过调用API方法很容易实现,但是在WPF存在一些问题,这里对解决这些问题的方法做一点笔记:首先说一下要做嵌入第三方窗体要用到的API方法[DllImport("user32.dll",SetlastError=true)]privatestaticexternIntPtrSetParent(IntPtrhWndC......
  • SSL证书
    SSL(SecureSocketsLayer)证书,是用于加密互联网上数据传输的安全协议证书;用于保证在客户端和服务器之间传输的敏感数据不会被第三方窃取和篡改。证书生成过程1. 生成密钥对(PrivateKey和PublicKey)私钥:用于加密和解密通信中的敏感数据,需要保密,仅存储在服务器上。公钥......
  • windows下配置hadoop3.1.4环境
    文章目录说明目前情况检查Java环境配置Hadoop环境下载解压hadoop3.1.4下载插件设置环境变量报错修改Hadoop配置文件修改core-site.xml文件修改hdfs-site.xml文件修改yarn-site.xml文件修改mapred-site.xml文件修改hadoop-env.sh文件修改hadoop-env.cmd文件格式化启动集......
  • 在Windows PE(Preinstallation Environment,预安装环境)中集成PowerShell 7,可以为系统管
    在WindowsPE(PreinstallationEnvironment,预安装环境)中集成PowerShell7,可以为系统管理员提供更强大的命令行工具和自动化脚本支持。WindowsPE本身是一个轻量级的操作系统,通常用于系统部署、恢复、维修和故障排除等任务,但它默认只集成了基本的命令行工具和脚本环境(如CMD和批处理......
  • 在 Windows 11 中,WMIC(Windows Management Instrumentation Command-line)工具已被废弃,
    在Windows11中,WMIC(WindowsManagementInstrumentationCommand-line)工具已被废弃,微软推荐使用PowerShell中的Get-WmiObject和Get-CimInstance等cmdlet来替代其功能。不过,WMIC被停用可能会对一些管理和自动化任务造成影响,尤其是在一些自动化脚本或企业环境中,管理员习......