Apache HTTPS配置

一、  确认是否安装ssl模块

是否有mod_ssl.so文件

二、  生成证书和密钥

linux下

1:生成密钥

命令:openssl genrsa 1024 > server.key

说明:这是用128位rsa算法生成密钥,得到server.key文件

2: 生成证书请求文件

命令:openssl req -new -key server.key > server.csr

说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

3: 生成证书

命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt

说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

window下

1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件

2: 生成证书请求文件
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

3: 生成证书
命令:openssl req -config D:\work_soft\Apache2.2\conf\openssl.cnf -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

把得到的server.key和server.crt文件拷贝到apache的对应目录

三、  配置apache

l  修改httpd-ssl.conf文件

注意在此文件中配置证书和密钥

SSLCertificateFile /apache/conf/server.crt

SSLCertificateKeyFile /apache/conf/server.key 

虚拟机设置

NameVirtualHost *:443

<VirtualHost *:443>

…………

</VirtualHost>

l  修改httpd.conf文件

1:打开ssl模块

LoadModule ssl_module /opt/taobao/install/httpd/modules/mod_ssl.so

2:引入ssl配置文件

Include “/apache/conf/httpd-ssl.conf”

3:如果你配置的虚拟机,注意一下端口的访问接受情况

NameVirtualHost *:80

<VirtualHost *:80>

…………

</VirtualHost>

四、  重新启动apache

用https方式访问,查看是否生效

五、http重定向到https

复制代码
<Directory />
    Options FollowSymLinks
    AllowOverride All
    
    RewriteEngine on
    RewriteBase /
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

    Order deny,allow
    Deny from all
</Directory>
复制代码

 

posted @   Jager  阅读(351)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示