配置apache 使用https

注:怕其他人由于路径的原因出问题,首先声明一下,本人apache的安装目录为 : /usr/local/httpd2.4.25,如果不是,请参考进行配置

注: 对于如下 ssl.conf的配置文件,如果其他人进行配置的话,不必完全一致的拷贝此配置文件,因为有部分代码是从默认的 "httpd-ssl.conf" 配置文件中拿过来的,如果其他人安装的apache编译版本(ssl模块已添加)跟这个版本一样,则可以完全拷贝

一. 针对全局网站使用https(配置所有网站web使用https访问)

# vim /usr/local/httpd2.4.25/conf/httpd.conf
    ServerName      www.example.com:
    Redirect  permanent  /   https://www.example.com
#service  httpd  restart

二. 针对单个网站站点使用https

1. 配置单网站重定向

# vim /usr/local/httpd2.4.25/conf/httpd.conf  (单个网站,也可以是其他命名方式的配置文件)

<VirtualHost *:80>

ServerName   pxsnxg.pxjy.com

Redirect     permanent / https://pxsnxg.pxjy.com/

    </VirtualHost>

2.  配置ssl配置文件以及主配置文件加载ssl模块(前提是编译时把ssl模块编译进去,方能支持,否则会报错)

开启主配置文件,进行加载ssl模块

#vim /usr/local/httpd2.4.25/conf/httpd.conf

Include conf/extra/ssl.conf

LoadModule  ssl_module            modules/mod_ssl.so

LoadModule  rewrite_module        modules/mod_rewrite.so

      LoadModule  socache_shmcb_module  modules/mod_socache_shmcb.so

配置单个网站相关ssl的配置文件

注: 对于如下 ssl.conf的配置文件,如果其他人进行配置的话,不必完全一致的拷贝此配置文件,因为有部分代码是从默认的 "httpd-ssl.conf" 配置文件中拿过来的,如果其他人安装的apache编译版本(ssl模块已添加)跟这个版本一样,则可以完全拷贝

#vim /usr/local/httpd2.4.25/conf/extra/ssl.conf  (这里的ssl.conf配置文件,也可以是其他命名方式的配置文件)
Listen
SSLCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4
SSLHonorCipherOrder on
SSLProtocol all -SSLv3
SSLProxyProtocol all -SSLv3
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:/usr/local/httpd2.4.25/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  

<VirtualHost _default_:>
DocumentRoot "/apptest/web/test"                 ## 根据自己网站目录,随机配置
ServerName   pxsnxg.pxjy.com                     ## 网站域名
ServerAdmin you@example.com
ErrorLog     "/apptest/logs/project_error.log"   ## 网站日志路径
TransferLog  "/apptest/logs/project_access.log"  ## 网站日志路径

##如下<Directory>控制区域,主要是针对https访问时进行控制用的,否则rewrite重定向规则是不生效的,除了开启rewrite模块,还需要将”AllowOverride None“改为“AllowOverride all”

<Directory "/apptest/web/test">            ## 此配置如果没有会影响网站访问

Options  FollowSymLinks

AllowOverride All

Require all granted

</Directory>

SSLEngine on

SSLCertificateFile "/usr/local/httpd2.4.25/conf/ssl/pxsnxg.pxjy.com.cer"         ##如下三行是购买证书的三个证书相关文件,相关ssl目录是手动创建,证书需要准备

SSLCertificateKeyFile "/usr/local/httpd2.4.25/conf/ssl/pxsnxg.pxjy.com.key"

SSLCertificateChainFile "/usr/local/httpd2.4.25/conf/ssl/pxsnxg.pxjy.com_ca.crt"

<FilesMatch "\.(cgi|shtml|phtml|php)$">

SSLOptions +StdEnvVars

</FilesMatch>

<Directory "/usr/local/httpd2.4.25/cgi-bin">

SSLOptions +StdEnvVars

</Directory>

BrowserMatch "MSIE [2-5]" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog "/usr/local/httpd2.4.25/logs/ssl_request_log" \

"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

三. 配置Apache 同时支持 80  和 443 端口 访问网站

1. 在https-vhosts.conf 里添加80端口虚拟主机的配置

<VirtualHost *:>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/apptest/web/test"
    ServerName  pxsnx.pxjy.com
    ErrorLog     "/apptest/logs/pxsnxg_error.log"
    CustomLog   "/apptest/logs/pxsnxg_access.log"  combined
    DirectoryIndex index.php index.Html index.html
    php_admin_value open_basedir  "/apptest/web/test:/tmp:."
<Directory "/apptest/web/test">
    Options  FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

2.   配置httpd.conf  开启加载ssl.conf(可以是其他命令方式的关于ssl的配置文件),ssl的配置跟上面的雷同,这里省略(相当于是把80 和443的配置文件分开来部署)

四.  重新加载apache服务

# /usr/local/httpd2.4.25/bin/apache  graceful

lamp之apache配置https访问的更多相关文章

  1. Linux Apache配置https访问

    配置https访问 该环境是rh254课程配套的一个环境,不过配置方法步骤相同. 要求: 使用虚拟主机技术部署两个网站: 网站1: 绑定域名 www0.example.com 目录在 /srv/www ...

  2. Apache 配置 HTTPS访问

    将需要配置的项目移动到另一根目录下,作为https访问位置. 修改bitnami配置文件..\Bitnami\wampstack-5.6.19-0\apache2\conf\bitnami\bitna ...

  3. Apache配置HTTPS功能

    apache配置https 一.yum 安装openssl和openssl-devel,httpd-devel 二.生成证书(也可以从公司的证书颁发机构获取): #建立服务器密钥 openssl ge ...

  4. Windows上为Apache配置HTTPS

    Windows上为Apache配置HTTPS   转 https://www.cnblogs.com/tianzijiaozi/p/7582671.html   1. 安装OpenSSL: Windo ...

  5. Linux下Apache配置HTTPS功能

    Apache配置HTTPS功能  转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...

  6. Apache配置https

    Apache配置https 之前一直用的是Tomcat,今天突然接到任务要给Apache配置https证书,因为小程序要用.下面把过程列出来以备后续查看. 1.首先你得有ssl证书,没有的可以去购买, ...

  7. OkHttp配置HTTPS访问+服务器部署

    1 概述 OkHttp配置HTTPS访问,核心为以下三个部分: sslSocketFactory() HostnameVerifier X509TrustManager 第一个是ssl套接字工厂,第二 ...

  8. apache配置禁止访问某些文件/目录

    我们来看俩段通常对上传目录设置无权限的列子,配置如下: 代码如下: ? 1 2 3 4 5 6 <Directory "/var/www/upload"> <Fi ...

  9. 使用docker搭建最新版本的gitea,并配置HTTPS访问

    使用docker搭建最新版本的gitea,并配置HTTPS访问 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 之前有搭建 ...

随机推荐

  1. java8_api_jni

    java本地接口    jni    java native interface,用于java代码和本地编程语言(c,c++等)交互的编程接口    java不太会跟底层硬件打交道,而c,c++跟底层 ...

  2. 网络工具之chisel + openvpn混合

    目的: 访问内网的shared folder 内网可以无缝访问internet而不需要设置代理(因为有些软件没办法支持代理,比如rustup) 解决方案: 基本思路 家里 设置chisel服务开放44 ...

  3. ES6模板字符串【${}配合反单引号一起用】

    先看看JavaScript中两个字符串的效果,就很容易知道模板字符串是个啥东西,其实一点也不新鲜.高级编程中,例如java里面的string.format就是干这个事情,诸如此类. 1. 概念理解 A ...

  4. NGUI外包开发总结一下今天的收获

    先总结一下今天的收获:在一个脚本类中对其成员变量进行初始化时,什么时候在Awake()中,什么时候在Start()中是有讲究的. 1)当成员变量会被外部脚本引用时,尤其是该成员变量是一个自己定义的非脚 ...

  5. 闲话ACES(修订)

    最近身边的人见面就聊ACES,ACES俨然已经是行业热点了. ACES的确更高效的解决了色彩一致性的问题,这是符合历史进程的(+1s),无疑值得肯定.但由于色彩管理意识不强,关于ACES的认识就存在着 ...

  6. React 生命周期及使用场景

    对比版本:16.4.0 VS 16.3.0 VS 16.2.0 发现最近几次React版本更改比较大,在为17.0的大版本作准备.总结了一下React生命周期函数的变化. 综合对比图如下: 各版本分别 ...

  7. 虚拟机中的linux系统文件突然全部变成只读的问题

    当宿主系统和虚拟机的IO都比较繁忙时,虚拟机的IO请求得不到及时的响应.虚拟机Linux不知道自己运行在虚拟机里面,会认为是磁盘IO错误,为了保护磁盘数据会remount分区为只读. 这时候如果只是对 ...

  8. 关于Rabbitmq的routingkey的作用

    对于消息发布者而言它只负责把消息发布出去,甚至它也不知道消息是发到哪个queue,消息通过exchange到达queue,exchange的职责非常简单,就是一边接收发布者的消息一边把这些消息推到qu ...

  9. 学习笔记之X分钟速成Python3

    X分钟速成Python3 https://mp.weixin.qq.com/s/QT5sR0nUKgJYsYgrj2SleA https://learnxinyminutes.com/docs/zh- ...

  10. [练习-1] android studio 从Activity 进入 Fragment

    从activity 进入到 fragment,使用系统自带的ListFragment 1,新建empty activity 2,新建Fragment(List) 3,activity_main.xml ...