900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > apache http server 停止工作_(二)http协议的网站装ssl升级成https

apache http server 停止工作_(二)http协议的网站装ssl升级成https

时间:2018-11-08 19:15:15

相关推荐

apache http server 停止工作_(二)http协议的网站装ssl升级成https

最终目标:微信小程序要想上线 必须内部所有域名都是https,比如网络图片,比如后端接口,比如其他链接。

:既然https://minihome.top/能直接访问了,那我用eggjs(node)写的后端接口是不是就可以正常访问了?结果是NO!

挣扎思考

a. 在httpd.conf里面配置监听7001不完事了。eggjs服务器配置默认的是7001端口(你可以改成其他端口,但是原理相同)所以,只要运行eggjs项目 7001就会被占用。然后你再监听7001肯定会提示端口被占用。

区别于:浏览器直接打开某个端口(比如想打开82端口)可以直接做监听(先开启该端口哦:在哪里买的服务器就去哪里控制台上配置安全组进行开启如下图1)因为改端口只是浏览器访问并不是占用 所以可以做监听。

b.监听不行咱做nginx代理(哈哈,作为前端表示 这是个啥东东,可以去查一下原理。白话就是:如果你想用接口调用 https://minihome.top/你可以代理到http://minihome.top:7001/为什么要这样做?因为https对应的端口是443,所以一切非443端口的https请求都跑不通 而7001又不能做监听 所以唠)但是我又一想如果我把minihome.top这个域名做代理后 岂不是每次访问都是定向到后端接口了?那我前端页面也要用这个域名哎 所以要做个二级域名专用于接口请求(back.minihome.top) 。敲定方案!

A.解析back.minihome.top并配置ssl。

a.阿里云控制台-域名-minihome.top解析添加一条,等一会就可以直接访问了。

b.申请一个免费的ssl下载下来放到服务器中(上篇有介绍怎么下)

c.配置ssl到back.minihome.top(上篇有介绍怎么配置),多个配置的话 直接在ssl.conf中复制VirtualHost这个标签 ServerName中改成back.minihome.top,证书文件换换

然后httpd.conf中再加个back.minihome.top监听所有非443 非https都到https中以下是主要部分代码我贴出来。

ServerName minihome.topRewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]ServerName back.minihome.topRewriteEngine onRewriteCond %{SERVER_PORT} !^443$RewriteRule ^(.*)$ https://%{SERVER_NAME}$1 [L,R]

back.minihome.top的ssl配置完成后 访问试试可以了。

B.做代理注意:1.代理是在ssl.conf中做的(因为 你是访问https(443)代理到(重定向到)http(7001)。2.你代理那个域名就在哪个标签里面(我的是在这个ServerName back.minihome.top标签里写)写,注意凡是修改.conf配置的都要重启一下Apache(重启Apache服务:cd /usr/bin(在bin下执行命令:apachectl -k stop关闭 然后apachectl -k start启动))

ServerName back.minihome.top//以下是代理代码Order deny,allowAllow from allProxyPass / http://minihome.top:7001/ProxyPassReverse / http://minihome.top:7001/

ServerName back.minihome.topOrder deny,allowAllow from allProxyPass / http://minihome.top:7001/ProxyPassReverse / http://minihome.top:7001/

结语:试一下 很完美(back.minihome.top做后端接口,minihome.top做前端页面访问等)。

补充上一篇:为什么我的没有(下图第一个)。确实是系统修改配置了(centos 8)。把他们提到一个模块中单独管理了(conf.modules.d).看后面一张图比如ssl和proxy(代理)

我真的是天才啊

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。