1987WEB视界-分享互联网热门产品和行业

您现在的位置是:首页 > 域名 > 正文

域名

Apache+PHP+SSL+多域名配置

1987web2022-09-13域名324
1.环境说明

1. 环境说明

使用apache24,PHP7.0;

网站证书文件通过阿里云申请免费版;

操作系统环境:windows。

2. 阿里云域名及证书申请

证书申请过程略。注意下载apache类型的。

将证书文件解压后,放在合适位置。

注意域名解析,自行配置。

3. PHP配置

将PHP解压,这里解压到C盘根目录。

根据项目情况对PHP进行配置,这里不做说明。

4. Apache配置

将Apache解压,这里解压到C盘根目录。

将Apache加入系统服务:命令行进入apache的bin目录后,执行命令:httpd.exe -k install

修改配置文件,conf/httpd.conf。这里只列出关键片段。

根据apache位置修改serverroot

ServerRoot "c:/Apache24"

设置监听端口,这里监听8080端口。

实际上,https走443端口,这里只要不和其他程序冲突即可

Listen 8080

加载PHP模块,PHP7只有apache2.4版本的模块,没有2.2的;注意这里有引号

LoadModule php7_module "C:\PHP\php7apache2_4.dll"

配置 php.ini的路径,这里没有引号

PHPIniDir C:\PHP

设置默认处理文件类型提交到Apache服务器处理

AddType application/x-httpd-php .php

放开如下代码

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 socache_shmcb_module modules/mod_socache_shmcb.so

LoadModule ssl_module modules/mod_ssl.so

设置错误日志

ErrorLog "d:/rclogs/error.log"

设置日志

CustomLog "d:/rclogs/access.log" common

加载ssl相关配置(这里直接修改原有ssl配置文件,也可新建)

Include conf/extra/httpd-ssl.conf

说明:根据实际情况启用模块。

5. SSL配置文件

在指定位置创建配置文件,这里直接修改httpd-ssl.conf。文件内容可参考下面。

Listen 443

SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM

SSLProxyCipherSuite HIGH:MEDIUM:!MD5:!RC4:!3DES

SSLHonorCipherOrder on

SSLProtocol all -SSLv2 -SSLv3

SSLProxyProtocol all -SSLv3

SSLPassPhraseDialog builtin

这里根据实际路径修改

SSLSessionCache "shmcb:c:/Apache24/logs/ssl_scache(512000)"

SSLSessionCacheTimeout 300

配置访问规则

这里根据实际路径修改,本例中website1下放置网站1的源代码

DocumentRoot "c:/Apache24/htdocs/website1"

ServerName 使用域名1替换

ServerAdmin site1@12222.com

ErrorLog "c:/Apache24/logs/error.log"

TransferLog "c:/Apache24/logs/access.log"

SSLEngine on

SSLCertificateFile "域名1证书路径/XXXXXX_public.crt"

SSLCertificateKeyFile "域名1证书路径/XXXXXX.key"

SSLCertificateChainFile "域名1证书路径/XXXXXX _chain.crt"

SSLOptions +StdEnvVars

SSLOptions +StdEnvVars

BrowserMatch "MSIE [2-5]" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog "c:/Apache24/logs/ssl_request.log" \

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

多个域名处理

这里根据实际路径修改,本例中website2下放置网站2的源代码

DocumentRoot "c:/Apache24/htdocs/website2"

ServerName使用域名2替换

ServerAdmin site2@qq.com

ErrorLog "c:/Apache24/logs/errorjm.log"

TransferLog "c:/Apache24/logs/accessjm.log"

SSLEngine on

SSLCertificateFile "域名2证书路径/XXXXXX_public.crt"

SSLCertificateKeyFile "域名2证书路径/XXXXXX.key"

SSLCertificateChainFile "域名2证书路径/XXXXXX_chain.crt"

SSLOptions +StdEnvVars

SSLOptions +StdEnvVars

BrowserMatch "MSIE [2-5]" \

nokeepalive ssl-unclean-shutdown \

downgrade-1.0 force-response-1.0

CustomLog "c:/Apache24/logs/ssl_request.log" \

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

6. 小结

配置完成后,浏览器地址栏输入域名1或域名2,进入对应的网站。

根据实际需要,PHP可能有其他配置。因为没有通用性,这里来未加说明。

举报/反馈