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

相关推荐
forestsea2 小时前
HTTP 黑科技
科技·网络协议·http
ps酷教程2 小时前
Apache httpclient & okhttp(2)
okhttp·apache
网络安全天地2 小时前
使用 Flutter 制作地图应用
websocket·网络协议·tcp/ip·http·网络安全·https·udp
to future_2 小时前
非阻塞IO,fcntl,多路转接,select,poll,epoll,reactor
linux·网络协议
车载测试工程师2 小时前
ARXML文件解析-1
经验分享·网络协议·tcp/ip·车载系统
JavaEdge.3 小时前
ssl.SSLCertVerificationError报错解决方案
网络·网络协议·ssl
JhonKI4 小时前
【从零实现Json-Rpc框架】- 项目实现 - 客户端注册主题整合 及 rpc流程示意
c++·qt·网络协议·rpc·json
LUCIAZZZ6 小时前
计算机网络-TCP的拥塞控制
网络协议·tcp/ip·计算机网络
沙子可可6 小时前
Apache Camel指南-第四章:路由径构建之异常处理
apache·集成学习
程序猿熊跃晖7 小时前
Excel 数据导入与 SQL 生成:基于 Hutool 和 Apache POI 的优雅实践
sql·apache·excel