一个命令,让你的网站支持https

网友投稿 848 2022-10-04

一个命令,让你的网站支持https

一个命令,让你的网站支持https

介绍

ENCRYPT来生成证书的,这个应该是用的最多的一个工具,也很方便。

我直接参考了官方文档上关于在CentOS 7上用nginx来让网站支持yum install

2.执行命令 默认修改/usr/local/nginx/conf目录下的nginx.conf文件

certbot --nginx -d erlie.cc

如果不在这个目录可以用–nginx-server-root这个参数来指定

certbot --nginx --nginx-server-root=/yourpath -d erlie.cc

如果要为多个域名生成的话

-d 域名1 -d 域名2

或者每次指定一个,执行多次 过程中会有2个选项1和2

如果选 1,则通过 HTTP 和 HTTPS 都可以访问。 如果选 2,则所有通过 HTTP 来的请求,都会被 301 重定向到 HTTPS

中途中可能会遇到各种环境问题,Google解决即可。

我说一个我遇到的坑,我原来编译的时候没有选择SSL module,所以我得重新编译一下,编译完成之后我是用如下命令重启的

nginx -s reload

结果nginx -s reload只是热部署配置文件,二进制文件nginx并不生效

此时{ listen 80; server_name erlie.cc; #charset koi8-r; access_log /usr/local/nginx/logs/access.log combined; location = / { root /product/new-blog-fe/dist/view; index index.html; } location ~ .*\.html$ { root /product/new-blog-fe/dist/view; index index.html; } location / { proxy_pass } location ~ .*\.(gif|jpeg|png|bmp|swf|flv|ico)$ { root /product/new-blog-fe; if (-f $request_filename) { expires 1d; break; } } location ~ .*\.(js|css)?$ { root /product/new-blog-fe; if (-f $request_filename) { expires 1d; break; } } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/erlie.cc/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/erlie.cc/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}

最后面的5行就是前面的命令自动帮你生成的,非常方便,都不用自己配置。 可以看到我把接口的请求都转发到本地Boot项目

前端怎么写?

为了让前端在访客通过conf = { serverHot : window.location.origin};var _nb = { request: function (param) { var _this = this; $.ajax({ type : param.method || 'get', url : param.url || '', dataType : param.type || 'json', data : param.data || '', xhrFields : {withCredentials: true}, crossDomain: true, contentType: param.contentType || 'application/x- success: function (res) { typeof param.success === 'function' && param.success(res.data, res.msg); }, error: function (err) { typeof param.error === 'function' && param.error(err.statusText); } }) }, // 获取服务器地址 getServerUrl : function(path) { return conf.serverHot + path; }}module.exports = _nb;

window.location.origin为拿到_nb = require('util/nb.js');var _user = { // 用户登录 login : function(userInfo, resolve,){ _nb.request({ url : _nb.getServerUrl('/user/login'), data : userInfo, method : 'POST', success : resolve, error : reject }); }}module.exports = _user;

userInfo为请求参数 resolve为调用成功后执行的函数 reject为调用失败后执行的函数

自动续期

Let’s Encrypt 的证书90天就过期了,所以,你还要设置上自动化的更新脚本,最容易的莫过于使用 crontab 了。使用 crontab -e 命令加入如下的定时作业(每个月都强制更新一下)

输入

0 0

参考博客

官网地址 [1] [3] [6]https://coolshell-/articles/18094.html

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序实例:如何获取和渲染数据(附代码)(小程序渲染html代码)
下一篇:玩转云端 | 天翼云电脑的百变玩法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~