lamp之apache配置https访问

配置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:80
    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 443
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  300

<VirtualHost _default_:443>
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 *:80>
    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

 

转载于:https://www.cnblogs.com/yangsirs/p/8489214.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值