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这个文件里。

相关推荐
斯~内克3 小时前
深入解析域名并发请求限制与HTTP/2多路复用技术
网络·网络协议·http
weixin_456904273 小时前
基于UDP的SNMP协议
网络·网络协议·udp
optimistic_chen8 小时前
【Java EE初阶 --- 网络原理】网络层---IP协议,数据链路层---以太网协议
网络·笔记·网络协议·tcp/ip·java-ee·文件io
沈健_算法小生9 小时前
Apache Kafka核心组件详解
分布式·kafka·apache
charlie11451419111 小时前
计算机网络八股文——TCP,UDP
网络·网络协议·tcp/ip·计算机网络·面试·udp·八股文
DemonAvenger15 小时前
Go语言中的gRPC:原理与实战
网络协议·架构·go
mortimer15 小时前
Tenacity:一行代码实现简洁优雅的遇错自动重试逻辑
人工智能·python·网络协议
敲上瘾16 小时前
从“碎片化”到“完美重组”:IP报文的分片艺术
网络·网络协议·tcp/ip·ip
_Rookie._1 天前
http触发预检请求条件
网络·网络协议·http
lang201509281 天前
Apache Ignite 的对等类加载(Peer Class Loading, P2P Class Loading)机制
apache·ignite