一个命令,让你的网站支持https
一个命令,让你的网站支持https
最近写小程序,但是小程序的接口得通过https的形式访问,所以用nginx转发了一下。想到google搜索引擎会提高https网站的权重,索性把我的网站改造成同时支持http和https了。看效果
http形式访问
一个命令,让你的网站支持https
https形式访问
一个命令,让你的网站支持https
我是用let's encrypt来生成证书的,这个应该是用的最多的一个工具,也很方便。
我直接参考了官方文档上关于在centos 7上用nginx来让网站支持https的教程
https://certbot.eff.org/lets-encrypt/centosrhel7-nginx
1.下载
2.执行命令
默认修改/usr/local/nginx/conf目录下的nginx.conf文件
如果不在这个目录可以用--nginx-server-root这个参数来指定
如果要为多个域名生成的话
或者每次指定一个,执行多次
过程中会有2个选项1和2
如果选 1,则通过 http 和 https 都可以访问。
如果选 2,则所有通过 http 来的请求,都会被 301 重定向到 https
中途中可能会遇到各种环境问题,google解决即可。
我说一个我遇到的坑,我原来编译的时候没有选择ssl module,所以我得重新编译一下,编译完成之后我是用如下命令重启的
结果https访问一直有问题,后来我才意识到。sbin目录下重新生成的nginx得重启才能生效。
nginx -s reload只是热部署配置文件,二进制文件nginx并不生效
此时http://www.erlie.cc和https://www.erlie.cc就都可以访问了
nginx.conf配置
一个命令,让你的网站支持https
最后面的5行就是前面的命令自动帮你生成的,非常方便,都不用自己配置。
可以看到我把接口的请求都转发到本地http://127.0.0.1:8080/,你应该猜到了这是一个spring boot项目
为了让前端在访客通过http方式访问的时候调用http接口。通过https访问的时候调用https接口,我是这样做的
nb.js
一个命令,让你的网站支持https
window.location.origin为拿到https://www.erlie.cc类似这样的请求地址,可以在浏览器自己试一下
一个命令,让你的网站支持https
user-service.js
请求用户相关的接口
一个命令,让你的网站支持https
userinfo为请求参数
resolve为调用成功后执行的函数
reject为调用失败后执行的函数
想复制配置,可以关注微信公众号 java识堂,自己配置的有问题可以在公号上加我
cloud域名怎样,适合用于什么?为什么被整站营销的网站会遭到处罚?丨经验分享义乌到茌平物流专线温州到石河子物流专线烟台到惠东物流专线昆明到梅河口物流专线杭州到邵阳物流专线南京到涿州物流专线