lnmpa启用https过程中,应该注意的一些问题

广告位招租
扫码页面底部二维码联系

lnmpa是一个第三方提供的nginx+未经授权,禁止复制转载。原创内容,盗版必究。apache+mysql+php安装包,【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。可以一键安装服务器环境,默认nginx监著作权归作者所有,禁止商业用途转载。【原创内容,转载请注明出处】听80端口,apahce监听88端口,n本文版权归作者所有,未经授权不得转载。【转载请注明来源】ginx在需要处理php时,将作为代理,【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。将请求转发到88端口,由apache完成【本文受版权保护】未经授权,禁止复制转载。php的处理。

未经授权,禁止复制转载。未经授权,禁止复制转载。【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】

现在,我们需要让lnmpa支持https【版权所有,侵权必究】转载请注明出处:www.tangshuang.net访问,那么我们应该怎么操作呢?

【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。

1. 生成ssl证书【作者:唐霜】

本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】【本文首发于唐霜的博客】

这一步是所有要开启https支持的服务器本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。都要提前做的事情,我们要最终获得两个文件本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。:.crt、.key两个文件,生成方式可【未经授权禁止转载】【关注微信公众号:wwwtangshuangnet】以通过搜索引起搜索“开启https”来了【原创不易,请尊重版权】【本文首发于唐霜的博客】解,不是本文的核心内容,就一笔带过。

本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。【转载请注明来源】

将上面两个文件放在服务器的某个目录,比如本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。放在/user/local/sslkey【转载请注明来源】本文版权归作者所有,未经授权不得转载。s目录中,命名为server.crt和s【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.neterver.key。

【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。【转载请注明来源】本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】

2. 确保你的服务器已经打开443端口转载请注明出处:www.tangshuang.net

【本文受版权保护】【未经授权禁止转载】【转载请注明来源】

3. 用apache来监听443端口【版权所有】唐霜 www.tangshuang.net

【本文首发于唐霜的博客】原创内容,盗版必究。【原创不易,请尊重版权】

这里我要详细的解释一下,为什么不像80端【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。口代理一样,让nginx来监听443端口本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。

【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。

首先,nginx仅用来做静态资源的响应,【原创不易,请尊重版权】【版权所有,侵权必究】php动态脚本已经交给apache去处理本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。了。既然这样,那么试问,什么情况下会通过【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】https去请求静态资源呢?只有在用ht【本文受版权保护】【关注微信公众号:wwwtangshuangnet】tps访问网站的时候,才会用https去著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net请求静态资源。在这种情况下,如果既要用n【转载请注明来源】【未经授权禁止转载】ginx去响应443端口请求静态资源,又【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。要用apache去响应443端口的脚本处转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。理,怎么可能呢?而且,如果我们自己配置证本文作者:唐霜,转载请注明出处。【转载请注明来源】书,https是无法被直接访问的,会被浏原创内容,盗版必究。【本文首发于唐霜的博客】览器拦截。我为了解决这个问题,竟然想到了本文版权归作者所有,未经授权不得转载。【作者:唐霜】把apache的https响应用一个新端【转载请注明来源】本文版权归作者所有,未经授权不得转载。口,比如4343,去处理,当nginx街【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】道https请求时,如果是php,就转发本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】到4343端口进行处理。然而,问题接着来【本文受版权保护】【转载请注明来源】了,php在查看$_SERVER[【关注微信公众号:wwwtangshuangnet】【关注微信公众号:wwwtangshuangnet】216;SERVER_PORT̵【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。7;]时,端口不是443,而是4343,转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】这可让一些程序犯糊涂了。apache在判【未经授权禁止转载】本文作者:唐霜,转载请注明出处。断是否为https时出现了没有意料到的问【未经授权禁止转载】【未经授权禁止转载】题(当然,我们可以根据自己的情况,重写一著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。些函数来进行判断)。因此,我干脆直接让a【本文首发于唐霜的博客】【本文受版权保护】pache去响应来自443端口的响应。

【原创不易,请尊重版权】【本文受版权保护】【本文受版权保护】【本文受版权保护】【转载请注明来源】

4. 开始配置apache【访问 www.tangshuang.net 获取更多精彩内容】

著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.net原创内容,盗版必究。
$ cd /usr/local/apache/conf/vhost$ vi yourvhost.conf

将文件的内容修改为大致如下:【原创内容,转载请注明出处】

转载请注明出处:www.tangshuang.net原创内容,盗版必究。【关注微信公众号:wwwtangshuangnet】
<VirtualHost *:88>
php_admin_value open_basedir "/home/wwwroot/xxx.com:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/xxx.com"

ServerName xxx.com
ServerAdmin webmaster@xxx.com

ErrorLog "/home/wwwlogs/xxx.com-error_log"
CustomLog "/home/wwwlogs/xxx.com-access_log" common

<Directory "/home/wwwroot/xxx.com">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>

</VirtualHost>



<VirtualHost *:443>
php_admin_value open_basedir "/home/wwwroot/xxx.com:/tmp/:/var/tmp/:/proc/"
DocumentRoot "/home/wwwroot/xxx.com"

ServerName xxx.com
ServerAdmin webmaster@xxx.com

ErrorLog "/home/wwwlogs/xxx.com-error_log"
CustomLog "/home/wwwlogs/xxx.com-access_log" common

<Directory "/home/wwwroot/xxx.com">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>

SSLEngine on
SSLCertificateFile /usr/local/sslkeys/server.crt
SSLCertificateKeyFile /usr/local/sslkeys/server.key

</VirtualHost>

这样,你就创建了两个虚拟主机(使用同一个著作权归作者所有,禁止商业用途转载。【转载请注明来源】域名,通过不同的端口进行响应,如果请求的【原创不易,请尊重版权】【关注微信公众号:wwwtangshuangnet】是443端口,就通过SSL进行加密处理后本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net响应),注意红色部中有我们上面第1步中生【作者:唐霜】原创内容,盗版必究。成的两个证书文件,路径要正确。

本文作者:唐霜,转载请注明出处。原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。

等一下,还不要重启apache,还有一个【关注微信公众号:wwwtangshuangnet】本文作者:唐霜,转载请注明出处。配置没有完成。

【版权所有,侵权必究】【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。
$ cd ..$ vi httpd.conf
$ /ssl + n ##查找ssl

把Include conf/extra/【原创内容,转载请注明出处】【原创内容,转载请注明出处】httpd-ssl.conf这一句前面的著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】注释去掉。保存退出。

本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。

重启apache:本文作者:唐霜,转载请注明出处。

著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】原创内容,盗版必究。
service httpd restart

现在可以通过https访问你的网站试试了【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。。在这个过程中,我们完全没有理会ngin【版权所有】唐霜 www.tangshuang.net【版权所有】唐霜 www.tangshuang.netx,因为我们直接使用apache来对44【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】3接口进行监听和响应,在响应的时候,无论【本文首发于唐霜的博客】【本文受版权保护】是静态资源,还是程序运行的结果,都是由a【关注微信公众号:wwwtangshuangnet】【作者:唐霜】pache返回的。通过这一系列的操作,你【原创内容,转载请注明出处】【转载请注明来源】还可以窥探linux服务器在端口监听上的【作者:唐霜】著作权归作者所有,禁止商业用途转载。一些规律。

【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】未经授权,禁止复制转载。

2015-12-01 6358 ,

为价值买单,打赏一杯咖啡

本文价值63.58RMB