Windows下Apache2.4配置SSL(HTTPS)

Windows下Apache2.4配置SSL(HTTPS)

前言
主要记录一下自己apache配置https过程,根据网上铺天盖地的文章做遇到太多坑了,所以梳理了一下配置过程

准备SSL证书
对于https而言,我们可以准备两种SSL证书,一种是自签名证书,一种是向证书颁发机构(CA)购买的证书。
我主要采用了自签名方式:
使用OpenSSL来生成一个自签名证书,(登陆其官网index.html即可下载)。
下载完直接安装即可。
使用的是win64 openssl3.xx版本
配置openssl指令,配置环境变量

  1. 计算机右键点开属性,选择高级,选择环境变量,双击path
    在这里插入图片描述
  2. 点击新建,把安装openssl的地址填入进去,点击确定,就可以再命令行使用openssl指令了
    在这里插入图片描述

win+r 调出命令行,输入openssl 回车后返回一堆命令提示信息,就表示安装成功了,接着就是配置证书了

步骤1: 输入: openssl genrsa -out server.key 2048
生成ca证书密钥。-out:其为输出文件,2048:其密钥位数,server.key :文件位置名称

步骤2: 输入:openssl req -new -key server.key -out server.csr
生成网站证书请求文件CSR。 其中字段含义参考步骤1,回车后会输入省份,地区,邮箱等信息,根据情况填写

步骤3: 输入:openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
生成ca证书 。-x509是其采用的标准,-days说明其生效时间,一般为一年(365)

到这步就可以看到你填写的文件的位置出现下面3个文件在这里插入图片描述

apache2.4配置SSL证书

准备工作完成后,开始配置apache
步骤1: 找到apache文件夹,\conf\httpd.conf 用记事本打开

取消以下4个前的#
LoadModule socache_dbm_module modules/mod_socache_dbm.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

步骤2: \conf\extra\httpd-ssl.conf用记事本打开

  1. 取消SSLSessionCache "dbm:${SRVROOT}/logs/ssl_scache"前的#

  2. 加上SSLSessionCache "shmcb:${SRVROOT}/logs/ssl_scache(512000)"前添加#

  3. 修改下
    DocumentRoot “存放网页文件的位置”
    例如: DocumentRoot “d:/Apache24/htdocs”

  4. 搜索SSLCertificateFile “${SRVROOT}/conf/server.crt”
    替换为
    SSLCertificateFile “上面生成证书你的存放地址server.crt”

  5. 搜索SSLCertificateKeyFile “${SRVROOT}/conf/server.key”
    替换为
    SSLCertificateKeyFile 上面生成证书你的存放地址server.key"

保存后,再打开 apache\bin\httpd.exe
浏览器输入
“http://电脑ip地址/1.html”
或者 “https://电脑ip地址/1.html”
都可以实现啦

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Joomla搭建网站培训教程 一、安装XAMPP 1 1.1 安装xampp 1 1.2 启动XAMPP 2 1.3 测试XAMPP安装是否成功(以下仅在apache无法启动时修改) 2 1.4 XAMPP安装失败原因及解决方法 3 二、加载Joomla模板 5 2.1 复制joomla文件夹到xampp\htdocs目录下。 5 2.2 访问本地 http://localhost/joomla页面,弹出安装窗口如下: 5 2.3 安装数据库 6 2.4 joomla基本配置 6 2.5 安装完成 7 三、安装模板 8 三、安装模板 9 3.1 通过模板安装文件安装 9 3.2 直接在Joomla模板中加载需要安装的模板 9 四、系统配置 11 4.1 查看系统信息 11 4.2 语言设置 11 4.3 网站设置 11 4.4 系统设置 12 4.5 服务器设置 12 五、菜单 13 5.1 菜单管理 13 5.2 主菜单 13 5.3 其他菜单 14 六、内容管理 15 6.1 单元分类 15 6.2 文章管理 15 七、用户管理 16 7.1 网站前台用户 16 7.2 后台用户 17 八、媒体管理 18 九、组件 19 9.1 组件管理 19 9.2 组件使用和显示 20 十、模块 22 10.1 模块管理 22 10.2 新建模块 23 一、安装XAMPP 1.1 安装xampp 访问http://www.apachefriends.org/zh_cn/xampp.html 下载并安装XAMPP得1.6版本。 点击"xampp-win32-1.6.3a- installer.exe"的安装包,选择安装目录后弹出如下界面: (图1) 安装过程中全部选择默认设置,点击"next"安装即可。 安装完成后启动XAMPP如下: (图2) 1.2 启动XAMPP 点击Windows系统的"开始"按钮,选择"所有程序"中的Apache Friends\XAMPP\XAMPP Contrl Panel,启动XAMPP如(图2)。 第一个是Apache服务,第二个为MySql服务,第三个是Ftp的服务,三者在启动电脑默 认打开。停止点击stop即可,启动则点击start。 ftp的的用户名和密码都是pubone,路径为xampp的根目录。 1.3 测试XAMPP安装是否成功(以下仅在apache无法启动时修改) 查看XAMPP安装是否成功有如下两种方式: (1) 如(图2)所示,点击start按钮,若如(图3)所示,显示running,则表示XAMPP安装成 功。如果没有显示running,则表示没有安装成功。 (2) 进入安装目录\xampp,选择文件 Apache_start.exe,可以运行apache服务器。如果显示如(图4)所示,则表示安装成功 ,否则会提示出现错误。 (图3) (图4) 1.4 XAMPP安装失败原因及解决方法 (1)80端口冲突导致无法运行。Web服务的默认端口是80,如果安装两个以上的服务 ,如Apache和IIS同时存在的话,就会发生端口冲突。 解决办法:将Apache的端口设置为80,其他服务如IIS服务的端口设置为8080。 以下简要介绍一下IIS端口设置和Apache端口设置的方法。 设置IIS端口 (图5) 设置Apache端口 找到ampp\apache\conf目录下httpd.conf文件,用记事本程序打开该文件,查找(用 CTRL+F查找)默认端口80,将其全部改为8080,保存即可。(若Apache端口为8080,测 试时需加入端口号如下:http://localhost:8080) (2)SSL端口不正确。 原因如上,也是安装两个以上服务导致该问题。 解决办法:修改ApacheSSL端口。 找到\xampp\apache\conf\extra目录下的httpd- ssl.conf文件,用记事本程序打开该文件,查找其中的全部443,并将其改为453即可。 二、加载Joomla模板 2.1 复制joomla文件夹到xampp\htdocs目录下。 2.2 访问本地 http://localhost/joomla页面,弹出安装窗口如下: 根据安装提示安装joomla。 2.3 安装数据库 2.4 joomla基本配置 填写本站名称和管理员密码。安装网站的示范内容,即安装网站的模板示例。 2.5 安装完成 根据安装完成提示删除目录 \xampp\htdocs\Joomla下的installation文件夹 点击"浏览本站"可以查看前台的默认网站模板。 或者访问:http://localhost/joomla 点击"进入管理后台"可以进入后台登陆的管理窗口。 或者访问:http://loca
APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。 一、 前期准备工作:安装用的程序(前提保证已安装了JDK1.5以上的版本) jdk1.6.0_18下载: http://java.sun.com/javase/downloads/index.jsp APAHCE 2.2.14下载:apache_2.2.14-win32-x86-no_ssl.msi http://httpd.apache.org/download.cgi下载 TOMCAT6.0.20下载:apache-tomcat-6.0.20.zip直接解压。http://tomcat.apache.org/download-60.cgi Jdk安装目录下D:\toots\Java\jdk1.6.0_18\bin\msvcr71.dll复制到C:\WINDOWS\system32下 二、 安装过程 设置环境变量: JAVA_HOME= D:\toots\Java\jdk1.6.0_18 classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径) path=%JAVA_HOME%\bin APAHCE安装目录:D:\toots\Apache下 四个TOMCAT目录:自行解压到(D:\toots\)下。分别为 tomcatA,tomcatB,tomcatC,tomcatD 三、配置 1、Apache配置 1.1、httpd.conf配置 修改APACHE配置文件D:\toots\Apache \conf\httpd.conf 将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 再找到<IfModule dir_module></IfModule>加上index.jsp修改成 <IfModule dir_module> DirectoryIndex index.html index.jsp </IfModule> 1.1.1、 在最下面加入 ProxyRequests Off <proxy balancer://cluster> BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9002 loadfactor=1 route=jvm2 BalancerMember ajp://127.0.0.1:9003 loadfactor=1 route=jvm3 BalancerMember ajp://127.0.0.1:9004 loadfactor=1 route=jvm4 <proxy > 上面的四个BalancerMember成员是我们配置的tomcat集群。后面会说明的 1.2、httpd-vhosts.conf设置 接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下: 首先要修改 conf/httpd.conf找到 (#Include conf/extra/httpd-vhosts.conf)把注释去掉。 # Virtual hosts Include conf/extra/httpd-vhosts.conf 在文件(D:/toots/Apache/conf/extra/httpd-vhosts.conf)最下面加入 <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "D:/toots/Apache/docs/dummy-host3.localhost"//你的安装目录 ServerName localhost//服务名(域名) ServerAlias localhost//服务别名 ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ </VirtualHost> 其中的域名和路径根据你自己情况设置 然后再设置TOMCAT虚拟主机 2 配置 tomcat 2.1. 配置 server 的关闭 我们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口,避免出现端口被占用的情况。在 TomcatA\conf, TomcatB\conf, TomcatC\conf下和 TomcatD\conf下的 server.xml 中找到 server, 将: <Server port="8005" shutdown="SHUTDOWN"> 改为 <Server port="XXXX" shutdown="SHUTDOWN"> XXXX 在这里表示不同的端口:我的其它四个 tomcat 分别使用 9006,9007,9008 , 9009 2.2. 配置 Engine 把原来的配置注释掉,把下面一句去掉注释。并标明jvmRoute="jvm2". <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2"> 以下是原来的配置。 <!-- <Engine name="Catalina" defaultHost="localhost"> --> 其他(tomcat6.02和tomcat6.03)也要同样 配置。注意:jvmRoute配置不要一样。 <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3"> <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm4"> 2.3. 配置 Connector 原来的默认配置。 <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡的作用。也可以用HTTP协议。大家注意它们是如何连接通信的,上面的红色部分(port="8009")就是连接的接口了。 把四个tomcat的<Connector port="XXX" />port分别改成与上面 <proxy balancer://cluster> #与tomcatA对应,route与<Engine jvmRoute="jvm1">对应。 BalancerMember ajp://127.0.0.1:9001 loadfactor=1 route=jvm1 #与tomcatB对应,route与<Engine jvmRoute="jvm2">对应。 BalancerMember ajp:// 127.0.0.1:9002 loadfactor=1 route=jvm2 #与tomcatC对应,route与<Engine jvmRoute="jvm3">对应。 BalancerMember ajp:// 127.0.0.1:9003 loadfactor=1 route=jvm3 #与tomcatD对应,route与<Engine jvmRoute="jvm4">对应。 BalancerMember ajp:// 127.0.0.1:9004 loadfactor=1 route=jvm4 </proxy> 中的端口对应, tomcatA改为 <Connector port="9001" protocol="AJP/1.3" redirectPort="8441" /> .tomcatB改为 <Connector port="9002" protocol="AJP/1.3" redirectPort="8442" /> tomcatC改为 <Connector port="9003" protocol="AJP/1.3" redirectPort="8443" /> tomcatD改为 <Connector port="9004" protocol="AJP/1.3" redirectPort="8444" /> <Connector executor="tomcatThreadPool" port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9441" /> <Connector executor="tomcatThreadPool" port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9442" /> <Connector executor="tomcatThreadPool" port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" /> <Connector executor="tomcatThreadPool" port="8084" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9444" /> 一定要与上面的一致。同时也要把redirectPort的值改成唯一的,确保四个tomcat的都不一样。 2.4.配置Cluster(每个tomcat中都要修改) 原来的配置。 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 修改为以下的代码:<Receiver port=”XX”/>port也要保证唯一性, tomcatA改为 <Receiver port="5001" .tomcatB改为 <Receiver port="5002" tomcatC改为<Receiver port="5003" tomcatD改为 <Receiver port="5004" 确保四个tomcat的都不一样。以下是tomcatA的内容红色部分,分别是5001,5002,5003,5004. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/> <!-- <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> --> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="5001" selectorTimeout="100" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster> 这个设置是主要用以tomcat的集群。 把解压缩版的tomcat6注册成服务并设置自启动 当然,这样注册出来的服务启动类型是手动的,如果想设置为开机自动启动,则需要修改 注册服务自启动: bin目录下的service.bat文件 打开此文件,在倒数第三行左右的那句输出 echo The service '%SERVICE_NAME%' has been installed. 这句是输出服务安装成功,在这之前加一句 sc config %SERVICE_NAME% start= auto 就OK了,以后开机后tomcat服务就自动启动了 注册服务: 首先,在开始->运行中敲cmd,进入MS-DOS界面 cd 到tomcat的bin目录下 运行命令service install TomcatA 就可以把tomcat注册成系统服务了,服务的名称是TomcatA 删除服务运行 service uninstall TomcatA 就可以了 四、启动服务,测试tomcat自带的例子 1、测试apache和tomcat协作。 先在每个tomcat中的\webapps\ROOT下的index.jsp下面加上以下的测试代码部分:(X代表不同的tomcat的输出不同的信息),把index.html删除,以免影响测试效果。在最后面的加上.即</table></body>之间。 <% System.out.println("tomcat6.0X deal with request"); %> 然后再通过http://localhost来访问一下,就会出现大家熟悉的猫猫。 然后再通过分别访问 http:// 127.0.0.1:8081, http:// 127.0.0.1:8082, http:// 127.0.0.1:8083, http:// 127.0.0.1:8084 它们访问的内容和上面的http:// 127.0.0.1是一样的。 这样就说明apache和TOMCAT整合成功! 这样就说明apache和TOMCAT整合成功! 2、测试均衡器 通过http:// 127.0.0.1多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软Microsoft Web Application Stress Tool进行简单压力测试,不然你靠不停刷新是体现不出来的,你只会在一个tomcat的控制台有输出结果。只用用压力测试工具模拟大量用户同时访问,你会发现四个tomcat控制台均有打出控制信息,说明均衡器工作正常。 3、测试Session复制 访问url: http://localhost/examples/servlet/SessionExample 可以得到一个关于session的例子,我们用它来测试集群的错误恢复能力。 测试步骤如下: 关闭tomcat1和tomcat2; 启动tomcat1 在浏览器中输入属性名tomcat1和属性值tomcat1再提交,返回的页面显示session中有刚刚输入的tomcat1属性; 启动tomcat2; 过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat1; 在浏览器中输入属性名tomcat2和属性值tomcat2再提交,返回的页面显示session中有刚刚输入的tomcat2属性,还有先前输入的tomcat1属性; 启动tomcat1; 过一会后(等待tomcat2和tomcat1通信并复制信息)关闭tomcat2; 在浏览器中输入属性名tomcat11和属性值tomcat11再提交,返回的页面显示session中有刚刚输入的tomcat11属性,还有先前输入的tomcat1和tomcat2属性; 域名绑定与虚拟目录设置: server.xml 的修改方式如下: (一)多域名绑定 2.接下来就是重点了哈哈... 单个域名绑定: 原始: <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" /> </Engine> 当然这里我把注释代码统统删除掉了,省的碍眼 修改后: <Host name="chengqun.202.71one.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="d:\wwwroot\chengqun"></Context> </Host> <Host name="chengqun1.202.71one.com" debug="0" appBase=" webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="d:\wwwroot\chengqun1"></Context> </Host> 多域名绑定: <Host name="chengqun.202.71one.com" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Alias>chengqun.202.71one.com</Alias> <Alias>chengqun1.202.71one.com</Alias> <Alias>chengqun2.202.71one.com</Alias> <Context path="/" docBase="d:\ EDirectSalesroot "></Context> </Host> 虚拟目录d:\ EDirectSalesroot的目录下建立WEB-INF 目录,再将…Tomcat 6.0\webapps\ROOT\WEB-INF 目录中的web.xml 文件拷贝到虚拟目录下建立WEB-INF 子目录中.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值