[Linux] PHP程序员玩转Linux体系-Nginx中的HTTPS

缓解这一题材最好的主意是分配不一致的IP地址给每一个HTTPS服务

开创一个HTTPS服务器

3.PHP程序员玩转Linux种类-搭建FTP代码开发条件

server {
    listen              80;
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ...
}

此间有其余的点子化解地点的问题,然而每一种都有独家的缺点.一种方法是生成证书的时候更改SubjectAltName字段,比如: www.example.com 和 www.example.org
三个,可是那几个字段有长度限制.

在nginx 0.7.13和更早的本子中,SSL无法被单独设置监听socket.只可以通过ssl指令为一体server开启SSL,才能兑现HTTP/HTTPS同时帮忙.为了化解这一题目,为listen指令添加了ssl参数.由此在0.7.14和之后的本子中,ssl指令无法再用了.  

 

PHP,4.PHP程序员玩转Linux体系-备份还原MySQL

运用三个称呼生成SSL证书

不过把多域名证书和私钥放在配置http块中,这样有着的劳务都足以一连那些布局

据悉名称的HTTPS服务

ssl_certificate     common.crt;
ssl_certificate_key common.key;

server {
    listen          443 ssl;
    server_name     www.example.com;
    ...
}

server {
    listen          443 ssl;
    server_name     www.example.org;
    ...
}

7.PHP程序员玩转Linux体系-nginx初学者率领

  

 

一个纯粹的HTTP和HTTPS服务

server {
    listen          443 ssl;
    server_name     www.example.com;
    ssl_certificate www.example.com.crt;
    ...
}

server {
    listen          443 ssl;
    server_name     www.example.org;
    ssl_certificate www.example.org.crt;
    ...
}
ssl_certificate www.example.com.cert;
ssl_certificate_key www.example.com.cert;

能够安顿一个服务同时扶助HTTP和HTTPS请求, 在虚拟主机中运用listen指令,一个带着ssl参数,一个不带参数.

另一种方法是表明名称那里使用通配符,比如: *.example.org,不过通配符名称只好用在一流子域名上.这些称号可以匹配www.example.org ,然而不可以匹配example.org或 www.sub.example.org 

1.PHP程序员玩转Linux种类-怎么设置使用CentOS

那二种方法可以构成起来,在SubjectAltName字段里填上 example.org 和 *.example.org

 

2.PHP程序员玩转Linux连串-lnmp环境的搭建

一个很常见的问题应运而生了,那就是解决当在一个ip地址配置监听七个或八个HTTPS服务.

 

在这些事例里面,文件的访问权限应该被限制.即便证书和私钥在一个文件之中,只有证件会被发送给客户端.

从nginx 1.0.5本子开端,nginx默认使用ssl_protocols SSLv3 TLSv1和ssl_ciphers HIGH:!aNULL:!MD5.从nginx
1.1.13 和 1.0.12 版本开首,默认更新成了 ssl_protocols SSLv3 TLSv1 TLSv1.1
TLSv1.2 

在nginx.conf配置文件中,在server块里面通过listen指令指定ssl的参数,设置好服务器证书和私钥文件的门路

6.PHP程序员玩转Linux种类-Linux和Windows安装nginx

server {
    listen          192.168.1.1:443 ssl;
    server_name     www.example.com;
    ssl_certificate www.example.com.crt;
    ...
}

server {
    listen          192.168.1.2:443 ssl;
    server_name     www.example.org;
    ssl_certificate www.example.org.crt;
    ...
}

 

  

应用那些布局,浏览器只好收取到默许的证书,在那么些例子中就是www.example.com证书.这几个是因为SSL协议本身造成的.SSL的接连是在浏览器发送HTTP请求往日建立的,因而nginx不亮堂请求的名称.所以它不得不提供默许服务的证书.

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ...
}

服务器证书是一个公然实体,它会被发送给每一个连接过来的客户端.私钥是一个康宁实体,它应该被储存在一个限量权力的文件中.可是nginx的master进度必须可以读到该私钥文件.
私钥也可以和证书放在一个文件里面.

5.PHP程序员玩转Linux种类-自动备份与SVN

ssl_protocols 和ssl_ciphers 指令可以被用来限制连接,只包涵高版本的TLS和SSL/TLS的密码

相关文章