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,改成以下内容

    <Directory /> AllowOverride none Require all granted --这里的deny改成这样的 </Directory>

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

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

相关推荐
游戏开发爱好者82 小时前
iOS App上线前的安全防线:项目后期如何用Ipa Guard与其他工具完成高效混淆部署
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Amy.Wang2 小时前
常见的网络协议有哪些
网络·网络协议
心月狐的流火号3 小时前
Java网络编程深度解析:TCP与UDP如何共享同一端口
网络协议
freyazzr3 小时前
TCP/IP 网络编程 | Reactor事件处理模式
开发语言·网络·c++·网络协议·tcp/ip
别说我什么都不会4 小时前
【OpenHarmony】 鸿蒙网络请求库之ohos_ntp
网络协议·harmonyos
小刘同学++4 小时前
用 OpenSSL 库实现 3DES(三重DES)加密
c++·算法·ssl
Hello.Reader4 小时前
NGINX 四层 SSL/TLS 支持ngx_stream_ssl_module
运维·nginx·ssl
勤奋的小王同学~4 小时前
(功能测试Charles)如何抓取手机http的报文
网络·网络协议·http
chao_7894 小时前
HTTP 响应状态码
网络·网络协议·http
浠寒AI4 小时前
FastAPI核心解密:深入“路径操作”与HTTP方法,构建API的坚实骨架
网络协议·http·fastapi