前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >apache安装ssl证书_apache ssl证书配置

apache安装ssl证书_apache ssl证书配置

作者头像
全栈程序员站长
发布于 2022-09-27 08:32:34
发布于 2022-09-27 08:32:34
10K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

制作证书:

参考:linux下运用opensll制作ssl证书linux下运用opensll制作ssl证书

生成三个证书 server.crt 、server-ca.crt、server.key

安装openssl

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar -xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
./config -fPIC  enable-shared
make depend
make  && make install
make clean && make distclean

#openssl类库做软连接
ln -s /usr/local/ssl//lib/*.so.* /usr/lib64
ln -s /usr/local/ssl//lib/*.so.* /usr/lib

安装apache

apache依赖包安装不详细说明,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tar xvzf httpd-2.4.18.tar.gz 
cd httpd-2.4.18
./configure \
    --prefix=/usr/local/cp-httpd-2.4.18 \
	--with-apr=/usr/local/cp-apr-1.5.2 \
	--with-apr-util=/usr/local/cp-apr-util-1.5.4 \
	--with-apr-iconv=/usr/local/cp-apr-iconv-1.2.1 \
	--with-ssl=/usr/local/ssl \
	--enable-so \
	--enable-ssl \
	--enable-mods-shared=all \
	--enable-cache \
	--enable-disk-cache \
    --enable-file-cache \
    --enable-mem-cache 	
make && make install
make clean && make distclean

配置apache的ssl

httpd.conf中配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#启用ssl模块
sed -i 's:#LoadModule ssl_module modules/mod_ssl.so:LoadModule ssl_module modules/mod_ssl.so:' /usr/local/httpd/conf/httpd.conf
sed -i 's:#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so:LoadModule socache_shmcb_module modules/mod_socache_shmcb.so:' /usr/local/httpd/conf/httpd.conf
sed -i 's:#Include conf/extra/httpd-ssl.conf:Include conf/extra/httpd-ssl.conf:' /usr/local/httpd/conf/httpd.conf

httpd-ssl.conf配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sed -i 's:#SSLCertificateChainFile "/usr/local/httpd/conf/server-ca.crt":SSLCertificateChainFile "/usr/local/httpd/conf/server-ca.crt":' /usr/local/httpd/conf/extra/httpd-ssl.conf

拷贝server.crt 、server-ca.crt、server.key到/usr/local/httpd/conf目录下

apache结合openssl安装过程中出现的错误

  • 1、apache错误提示libz.a: could not read symbols: Bad value”

重新安装openssl 加上-fPIC和enable-shared参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
         ./config -fPIC --prefix=/usr/local/openssl1.0.1  enable-shared
  • 2、apache的httpd.conf缺乏LoadModule ssl_module modules/mod_ssl.so解决方法

原因是上一次编译的缓存存,需要清除掉才能重新生成执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
         make clean && make distclean

3、httpd: Syntax error on line 129 of /usr/local/cp-httpd-2.4.18/conf/httpd.conf: Cannot load modules/mod_ssl.so into server: libssl.so.1.0.0: cannot open shared object file: No such file or directory

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
         ln -s /usr/local/ssl/lib/*.so /usr/lib64
         ln -s /usr/local/ssl//lib/*.so.* /usr/lib

这个问题比较奇怪,命名在httpd安装中指定了–enable-ssl和–with-ssl=/usr/local/openssl/还是无法生效,httpd只在/usr/lib64查找libssl.so.1.0.0,因此需要做个软连接处理。

配置rewrite规则实现访问http自动跳转到https

实现方法是定义一个.htaccess放在httdocs中,内容为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On

  RewriteCond %{SERVER_PORT} !^443$
  RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
 
  ErrorDocument 404 /404.html
  ErrorDocument 403 /404.html
</IfModule>

特别说明:

apache重新编译不会覆盖原有的httpd.conf文件,因此如果原有没有编译ssl的话,httpd.conf中必须手工加上mod_ssl.so模块配置

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/193169.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 Vue 框架封装 Axios 解决网络请求常见问题的实践方法
Axios是一个基于Promise的HTTP客户端,专为浏览器和Node.js设计,具有以下特性:
小焱
2025/05/21
2740
使用 Vue 框架封装 Axios 解决网络请求常见问题的实践方法
Vue3.x中axios的全局配置与封装
但是在实际项目开发中,几乎每个组件都会用到axios发起数据请求,此时会遇到如下两个问题:
岳泽以
2022/11/14
7.6K1
Vue3.x中axios的全局配置与封装
【谷粒学院】016-前后端:实现登录功能
由于自己的年少情况,遇到了很多阻碍,甚至中途泄气,虽然通过自己研究了解到很多知识吧,但项目的进度真实严重滞后了,还好最终找到了通路,总结出的教训:学习最好按照老师教的一步一步来,不要好高骛远、自以为是,要尽量使用老师使用的框架版本,加油!
訾博ZiBo
2025/01/06
1520
【谷粒学院】016-前后端:实现登录功能
axios的前端封装
在vue项目中,大家一般都会频繁的使用axios发起请求。 那我们索性把axios封装成一个我们自己的工具类, 使用起来就会很方便 新建js文件 名为request.js 第一步 导入依赖 import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' import { getToken } from '@/utils/auth' 第二步 创建axios实例 /
Tom2Code
2022/11/21
5640
学习 Vue 3 全家桶 - Vue 项目规范和基础封装
像 axios、 NProgress、xlsx、clipboard 等相对独立的工具来说,引入的难度非常低。
Cellinlab
2023/05/17
3120
浅学前端:Vue篇(五)
这里选择了 vue-element-admin 这个项目骨架,它采用的技术与我们之前学过的较为契合
传说之下的花儿
2023/11/15
2500
浅学前端:Vue篇(五)
vue封装axios请求工具类
以勇气面对人生的巨大悲恸,用耐心对待生活的小小哀伤。——雨果 首先安装 # axios cnpm i --save axios # 格式化参数插件 cnpm i -- save qs # 对象合并插件 cnpm i -- save lodash # cookie操作 cnpm i -- save vue-cookie 然后我们自己封装一个请求组件 首先创建文件 然后放入我们的代码。。。 import axios from 'axios' import qs from 'qs' import
阿超
2022/08/16
1.1K0
vue封装axios请求工具类
易扩展,易复用,封装axios
axios是近几年比较火的一个前端库,完美代替了jquery中的ajax,它不仅可以运行在浏览器也可以运行在nodejs环境下,而且支持Promise API 可以拦截请求,和返回.而且天生防XSRF
拿我格子衫来
2022/01/24
1K0
vue2封装axios接口代码
@toc在/utils新建requestimport axios from 'axios'import bus from '@/utils/bus'import {Message} from 'element-ui'const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url // baseURL: '/api', // url = base url + requ
肥晨
2023/04/04
4670
axios详解以及完整封装方法
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。
HelloWorldZ
2024/03/20
11.1K0
Axios安装封装api接口
在src中新建一个axios文件夹,建一个http.js文件 Dialog为vant组件
明知山
2020/09/03
8790
vue中Axios的封装和API接口的管理
回归正题,我们所要的说的axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。
Nealyang
2019/09/29
3.8K0
vue中Axios的封装和API接口的管理
二次封装axios
二次封装axios 根据我自己喜好进行轻量封装。 import axios from 'axios'; import { Notify } from 'vant'; axios.defaults.timeout = 5000 axios.defaults.baseURL = process.env.VUE_APP_BASE_API axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charse
4O4
2022/04/25
3240
【Vue3+TypeScript】CRM系统项目搭建之 — Axiox 网络请求封装
使用 vue 开发时,频繁使用到了 axios 这个网络请求库,这里对其做一个发起请求时携带参数方式的小结。
HelloWorldZ
2024/03/20
2340
【Vue3+TypeScript】CRM系统项目搭建之 — Axiox 网络请求封装
详细讲解axios封装与api接口封装管理
axios的封装和api接口的统一管理,其实主要目的就是在帮助我们简化代码和利于后期的更新维护。
江一铭
2022/06/16
3.7K0
axios封装token示例
在使用 Axios 发送请求时,可以通过添加 Authorization 头部信息传递 Token。为了方便地在多个请求中使用 Token,可以封装一个 Axios 实例,并在其中添加 Token。
小小孩子们
2024/02/03
1.3K0
Axios的封装思想及实践(TS版本)
原生的拦截器位于axiosInstance实例中,使用方法是(来源官网:拦截器 | Axios 中文文档 (axios-http.cn))
玖柒的小窝
2021/10/26
2.6K0
Axios的封装思想及实践(TS版本)
axios(封装使用、拦截特定请求、判断所有请求加载完毕)
业务上经常出现这个问题,需要拦截某些特定请求,在该特定请求,页面采取或不采取什么变化
Krry
2019/04/09
5.7K0
axios封装
訾博ZiBo
2025/01/06
1170
2.封装axios、本地存储,安装vuex、element
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 Element 一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库
RtyXmd
2018/08/30
1.4K0
2.封装axios、本地存储,安装vuex、element
相关推荐
使用 Vue 框架封装 Axios 解决网络请求常见问题的实践方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验