必威-必威-欢迎您

必威,必威官网企业自成立以来,以策略先行,经营致胜,管理为本的商,业推广理念,一步一个脚印发展成为同类企业中经营范围最广,在行业内颇具影响力的企业。

顺手设置开机启动必威,查询资料后确定生成证

2019-11-04 02:16 来源:未知

七、 完成

此时配置已经完成。你可以在接下来的输出中找到如下段落:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://www.xxxx.com and https://xxx.xxxx.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=www.xxxx.com
https://www.ssllabs.com/ssltest/analyze.html?d=xxx.xxxx.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

意思就是你已经成功配置了 www.xxxx.com xxx.xxxx.com 两个域名(就是在 步骤五 输入的那两个,当然,你输入了多少个这里就会显示多少个)。
并且你可以在 这个网站上测试域名的状态。

第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务

 

//确定是否安装openssl

which openssl

//如果没有安装,通过apt-get或者yum等方式安装即可

sudo apt-get install openssl

//生成一个名为“ssl.key”的 RSA key文件:执行结果:生成ssl.pass.key 和 ssl.key

openssl genrsa -des3 -passout pass:x -out ssl.pass.key 2048

openssl rsa -passin pass:x -in ssl.pass.key -out ssl.key

//删除中间文件

rm ssl.pass.key

接着,利用已经生成的 ssl.key 文件,进一步生成 ssl.csr 文件:

openssl req -new -key ssl.key -out ssl.csr

执行此行命令会提示输入密码,按回车即可,因为前面我们在生成 ssl.key 时选择了密码留空。

最后我们利用前面生成的 ssl.key 和 ssl.csr 文件来生成 ssl.crt 文件,也就是自签名的 SSL 证书文件:

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

这一步之后,我们得到一个自签名的 SSL 证书文件 ssl.crt,有效期为 365 天。此时,ssl.csr 文件也已经不再被需要,可以删除掉了:

rm ssl.csr

 

参考地址:

 

开始安装 LNMP1.4

在 lmnp.org 查看详细教程, 注意一定要安装 lnmp1.4 版本(及以上), 目前(2017.3.31) 1.4 版本仍为测试版

requirements

在开始之前,你最好先了解一下:

  1. 什么是http和https
  2. https的工作原理
  3. https的安全性是如何保证的,有没有什么单点故障

对于https的了解,大致需要了解:

  1. TLS/SSL协议是什么
  2. 证书和根证书
  3. 对称加密算法和非对称加密算法工作原理

这里推荐几个网址,可以帮助了解:
猫尾博客:HTTPS工作原理
编程随想:数字证书及 CA 的扫盲介绍
编程随想:扫盲 HTTPS 和 SSL/TLS 协议

安装

我把 Let's Encrypt 作为一个 submodule 集成到这个项目里了。所以只需要克隆这一个项目就够了。

git clone https://github.com/songchenwen/nginx-ssl-config-with-letsencrypt.git
cd nginx-ssl-config-with-letsencrypt
git submodule init
git submodule update --remote

其他

支持https的nginx已经完全配置完成。接下来把你的站点放在nginx的目录下就行,一般是 /usr/share/nginx/html 如果不是这里,你可以在nginx的配置文件里找到,配置文件位于 /etc/nginx/nginx.conf

在浏览器中打开站点,就能看到地址栏上的小绿锁了~


原文发布于

 

服务器中开启了 https 后, 其他服务(比如 shadowsocks) 还能正常使用吗?

亲测可以

这篇博文主要总结+介绍一下如何使得个人网站通过https进行加密传输,更好的保证传输数据可以不被他人窃取

自动续签证书的 Crontab 任务

Let's Encrypt 签发的证书只有 90 天的有效期,所以我们需要一个自动续签证书的方法。一个每个月续签一次的 Crontab 任务就足够了。这个任务应该以 root 权限执行,因为续签完之后我们还需要重载一下 nginx 的配置才能生效。

sudo crontab -e

下面是 Crontab 任务的内容

0 2 1 1-12 * /path/to/ssl/renew_all_certs.sh

本文永久更新链接地址:

Let's Encrypt 半自动化为 Nginx 配置 https 有了 Let's Encrypt,配置 SSL 证书再也不是难事,只是 Let's Encrypt 目前还处在很初期的阶段,对 ng...

安装Nginx

sudo yum install nginx -y

顺手启动:

sudo systemctl start nginx

顺手设置开机启动:

sudo systemctl enable nginx

嗯,就完成了。 至于配置文件,会在后面设置。

http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案

域名 vps(服务器) * 1

这里以我的几块钱买的 lzres.win 为例(可能会乱入其他域名, 实际操作时换成自己的就行~ ).
域名是在阿里云的万网注册的, 这里的 DNS解析 什么的我就不赘述了, 相信知道 https 的起码不是白纸一样的小白了.

此处 DNS 解析还有一个坑, 之前在 Google搜索 开启 https 方法的时候, 看到某篇博文说 Let's Encrypt 需要国外的 DNS 解析,为此我花了很多时间分别给几个域名换到国外的 DNS, 然后发现其实是不用切换的, 万网自带的 DNS 解析是可以开启 Let's Encrypt 的 https 的.

配置

要想用户可以通过https访问,还需要对webserver进行一些配置
首先切到nginx 的 conf目录下进行配置
由于我希望用户访问

http://lincloud.me
http://www.lincloud.me
https://lincloud.me
https://www.lincloud.me

上述四个网址的时候都可以进入我的博客地址,并且走https的路径。
所以记下来的配置文件:

upstream backend {
   server localhost:8080; # Tomcat/Jetty 监听端口
}

server {
  listen       80;
  server_name  lincloud.me;
  rewrite ^(.*) https://www.$server_name$request_uri permanent;

}

server {
  listen          80;
  server_name     www.lincloud.me;

  location ^~ /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /usr/local/nginx/html;
  }

  location = /.well-known/acme-challenge/ {
    return 404;
  }

  rewrite ^(.*) https://$server_name$request_uri permanent;
}


server {
  listen      443 ssl;
  server_name  lincloud.me;

  ssl_certificate /etc/letsencrypt/live/lincloud.me/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/lincloud.me/privkey.pem;
  ssl_trusted_certificate /etc/letsencrypt/live/lincloud.me/chain.pem;

  rewrite ^(.*) https://www.$server_name$request_uri permanent;
}

server {
  listen              443 ssl;
  server_name         www.lincloud.me;

  ssl_certificate /etc/letsencrypt/live/www.lincloud.me/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/www.lincloud.me/privkey.pem;
  ssl_trusted_certificate /etc/letsencrypt/live/www.lincloud.me/chain.pem;

  location ^~ /static/ {
    root    /usr/local/nginx/html/;
  }

  location / {
    proxy_pass http://backend$request_uri;
    proxy_set_header  Host $host:$server_port;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-Proto https;
    client_max_body_size  10m;
  }

}

对于其他的访问网址,我全部重定向到了 https://www.lincloud.me 所以现在就看最后一个server是怎么处理的,最后一个server的location 中,申明了代理的地址是 localhost:8080 ,也就是我的tomcat的位置,这里是我博客的真正位置。

在这里对于nginx来说,和外网通讯使用的是https,而和tomcat通讯使用的是http,所以需要告诉tomcat,虽然这是http的请求,但实际上已经被https代理了,因此在tomcat的配置文件中(server.xml)配置如下信息:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443"
               proxyPort="443"
               URIEncoding="UTF-8"
               />

配置之后的host

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
    <Valve className="org.apache.catalina.valves.RemoteIpValve"
        remoteIpHeader="x-forwarded-for"
        remoteIpProxiesHeader="x-forwarded-by"
        protocolHeader="x-forwarded-proto"
            />
</Host>

nginx和tomcat都同时配置 x-forwarded-proto 头信息,从而告知tomcat已被https代理。

到这里基本就完成,但因为我是使用solo搭建的博客
所以需要修改一下latke.properties的内容,才能正确显示博客

# Browser visit protocol
serverScheme=https
# Browser visit domain name
serverHost=www.lincloud.me
# Browser visit port, 80 as usual, THIS IS NOT SERVER LISTEN PORT!
serverPort=443

ok,至此全部配置完毕
重启tomcat,重启nginx。就可以通过https来访问自己的主页了。

最后提醒一下,安全证书的使用期限是90天,90天以后又需要使用Certbot更新证书
我使用了自动更新的命令,目前还不知道是否生效
以下是手动更新命令,certbot会自动帮你完成
./certbot-auto renew

编辑 ssl/config

填写上你的域名。可以填写多个域名,第一个域名会被用作 Common Name。 证书会保存在 /etc/letsencrypt/live/ 下,以 Common Name 命名的目录下。

选择一个 Let's Encrypt 服务器。acme-v01 开头的服务器是正式服务器,有严格的请求次数限制,不建议拿它来做实验。acme-staging 开头的服务器是测试服务器,没有请求次数限制,但不会签出有效的证书,建议先用这个服务器来测试配置。

TAG标签:
版权声明:本文由必威发布于必威-操作系统,转载请注明出处:顺手设置开机启动必威,查询资料后确定生成证