配置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. servlet_3

    ServletContext 介绍 提供的功能 servlet中获取servletcontext实例 servletcontext接口的方法 package com.fgy; import java. ...

  2. 2018-2019-2 网络对抗技术 20165308 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165308 Exp2 后门原理与实践 1.实验内容 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...

  3. 安装netcat(-bash: netcat: command not found)

    安装netcat 在用swoole UDP服务器可以使用netcat -u 来连接测试时,报错-bash: netcat: command not found,是因为centos7未安装netcat. ...

  4. 记录一个源码安装mysql5.6的方法

    https://www.jb51.net/article/118853.htm 如果之前源码安装过mysql5.6的话,卸载方法如下:rm -rf /var/lib/mysql/rm -rf /usr ...

  5. Android studio 中添加依赖model时依赖所需的准备

    例如向app中添加依赖core: core要做如下修改: 1.将core中build.gradle中   修改为  . 2.将core中的 applicationId 注释掉.

  6. 数据分组分析—-groupby

    数据分组分析—-groupby 代码功能: 对于综合表格data,基于title进行分组处理,并统计每一组的size,得到的是一个series序列,此序列可以放入索引中使用,index() impor ...

  7. JRockit Mission Control建立到Tomcat的连接(windows)

    http://www.360doc.com/content/10/0928/16/203871_57086538.shtml  蓝海豹 JRockit Mission Control建立到Tomcat ...

  8. 黄聪:C#获取网页HTML内容的三种方式

    C#通常有三种方法获取网页内容,使用WebClient.WebBrowser或者HttpWebRequest/HttpWebResponse. 方法一:使用WebClient static void ...

  9. refreshContext(context)方法源码探究

    该方法目的是刷新应用上下文,是容器启动最主要的方法,其实现是一个模板方法,内容巨大,所以先看模板方法都做了哪些事,然后再细看每个方法的实现机制. refreshContext(context)方法首先 ...

  10. 《剑指offer(第二版)》面试题60——n个骰子的点数

    一.题目描述 把n个骰子仍在地上,所有的骰子朝上的一面的点数之和为s,输入n,打印出s所有可能的值出现的概率. 二.题解 <剑指offer>上给出的两种方法,尤其是代码,晦涩难懂且没有注释 ...