Apache部署Vue操作手册(SSL部分)

1. Apache配置(windows版本)

1.1 httpd.conf 配置

找到apache配置文件 httpd.conf,将下面两条文件的注释#去掉,如果没搜到就新增这两条配置。一个是开启ssl模块,一个是引用专门的ssl配置文件。

复制代码
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

1.2 httpd-ssl.conf 配置

打开‪ F:\Apache24\conf\extra\httpd-ssl.conf 配置文件,DocumentRoot 是你前台目录路径,下面是域名。

然后配置你的证书路径,搜SSLCertificateFile ,把后面内容改成你自己crt的路径。

复制代码
SSLCertificateFile "F:/Apache24/ssl/server.crt"

然后配置你的证书Key路径,搜SSLCertificateKeyFile ,把后面内容改成你自己key的路径。

复制代码
SSLCertificateKeyFile "F:/Apache24/ssl/server.key"

Tips:如果你是公网域名已经绑定了DNS并且已经有证书了,这时候就可以重启apache服务开始输入https:你的域名 就会正常访问了。如果你想用自签名证书在自己电脑上测试,那继续下面内容开始申请证书的DNS的配置。

2. 自签名证书申请

2.1 下载软件

访问: Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions ,进行下载。

2.2 生成key和crt

下载后安装,安装完后到bin目录下打开cmd,执行以下命令创建rootCA.key和rootCA.crt。将里面内容替换为你域名或 IP 地址。

复制代码
openssl req -x509  -sha256 -days 356 -nodes -newkey rsa:2048 -subj "/CN=改成你的域名/C=US/L=San Fransisco" -keyout rootCA.key -out rootCA.crt 

2.3 创建服务器私钥

接着,我们将使用rootCA.key和rootCA.crt来签署 SSL 证书。使用生成的私钥创建证书签名请求(CSR),创建服务器私钥,命令如下:

复制代码
openssl genrsa -out server.key 2048

2.4 创建一个csr.conf文件

我们将创建一个csr.conf文件,以包含生成证书签名请求(CSR)所需的所有信息。将其中内容替换为你的域名或 IP 地址。

复制代码
[ req ]
default_bits = 2048
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[ dn ]
C = US
ST = California
L = San Fransisco
O = MLopsHub
OU = MlopsHub Dev
CN = 改成你的域名.com

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = 改成你的域名.com
DNS.2 = 改成你的域名.com
IP.1 = 改成你的ip
IP.2 = 192.168.2.160

2.5 使用服务器私钥生成证书签名请求(CSR)

现在我们将使用以下命令生成server.csr,执行完后现在我们的文件夹应该有三个文件。csr.conf、server.csr和server.key。

复制代码
openssl req -new -key server.key -out server.csr -config csr.conf

2.6 新建cert.conf

再新建一个cert.conf文件,将其中内容替换为你的域名或 IP 地址。

复制代码
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = 改成你的域名.com

2.7 使用自签名 CA 生成 SSL 证书。

执行以下命令,作为我们自己的证书颁发机构一部分创建的rootCA.crt和rootCA.key签名的 SSL 证书。完成这些步骤你的自签名证书就完成了,只需要在apache中配置这些crt和key的路径就行了

复制代码
openssl x509 -req     -in server.csr     -CA rootCA.crt -CAkey rootCA.key     -CAcreateserial -out server.crt     -days 365     -sha256 -extfile cert.conf

2.8 使用

证书什么都生成完了,apache中的配置也配置完后,直接开始访问即可使用ssl方式进行访问。如果其中有修改配置,需要关闭浏览器再打开后重新访问才是最新的配置。如果使用中有任何报错,可以F12再安全中查看具体报错内容进行排查。

3 问题处理

3.1 问题排除

先定位问题,如果在services.msc里无法重启服务,可以到apache的bin目录里打开cmd,在cmd中输入httpd,如果有报错会无法启动,根据报错内容去官网进行查询,或者直接提示语法错误进行修改,如下图:

apache如果可以正常启动,无法进行访问,那这时候就是配置上的问题了,可以到F:\Apache24\logs\error.log文件里查看访问后我报错信息进行定位。有任何问题可以根据内容去官网搜索,下图是一次完整的正常访问。

3.2 配置完成后显示forbidden

  • 检查文件夹权限

  • 检查配置文件权限

  • httpds.conf文件里的 /目录请求是deny,改成以下内容

    AllowOverride none Require all granted --这里的deny改成这样的

3.3 https能够访问后无法转发给后台

那就把在普通配置里的代理和重定向贴过来,贴到F:\Apache24\conf\extra\httpd-ssl.conf这个文件里。

相关推荐
2501_915106321 天前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
情 九1 天前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
Da Da 泓1 天前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
万联WANFLOW2 天前
异地组网速度忽快忽慢到底怎么回事?直连与中继的判断方法和处理步骤
运维·网络·网络协议·p2p
步行cgn2 天前
HTTP 请求报文结构详解:请求行、请求头、请求体各自的作用
网络·网络协议·http
代立冬2 天前
927 个 PR:Apache SeaTunnel 3.0.0 正式发布!AI 时代,数据集成正在迎来新的可能
人工智能·apache
OpenLoong 开源社区2 天前
打破 NAT 限制,零侵入跨网络通信:基于 WebRTC 的透明 TCP 隧道跨网络通信方案
网络协议·tcp/ip·开源·webrtc·openloong开源社区
从琳开始9892 天前
从Socket到UDP回显服务器:Java网络编程完整指南
java·网络·网络协议·udp·java-ee
明天也要努力学习2 天前
HTTP 协议的基本格式和 fiddler 的用法
网络协议·http·fiddler
Tel199253080042 天前
温度湿度信号转WiFi/MQTT/Modbus TCP采集模块 无线传输
网络·网络协议·tcp/ip·工业自动化·工控设备