PHP程序员玩转Linux系列文章:

1.PHP程序员玩转Linux系列-怎么安装使用CentOS
2.PHP程序员玩转Linux系列-lnmp环境的搭建
3.PHP程序员玩转Linux系列-搭建FTP代码开发环境
4.PHP程序员玩转Linux系列-备份还原MySQL
5.PHP程序员玩转Linux系列-自动备份与SVN
6.PHP程序员玩转Linux系列-Linux和Windows安装nginx
7.PHP程序员玩转Linux系列-nginx初学者引导
创建一个HTTPS服务器
在nginx.conf配置文件中,在server块里面通过listen指令指定ssl的参数,设置好服务器证书和私钥文件的路径
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进程必须能够读到该私钥文件. 私钥也可以和证书放在一个文件里面.
ssl_certificate www.example.com.cert; ssl_certificate_key www.example.com.cert;
在这个例子里面,文件的访问权限应该被限制.尽管证书和私钥在一个文件里面,只有证书会被发送给客户端.
ssl_protocols 和ssl_ciphers 指令可以被用来限制连接,只包含高版本的TLS和SSL/TLS的密码
从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
一个单一的HTTP和HTTPS服务
可以配置一个服务同时支持HTTP和HTTPS请求, 在虚拟主机中使用listen指令,一个带着ssl参数,一个不带参数.
server {
listen 80;
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.crt;
ssl_certificate_key www.example.com.key;
...
}
在nginx 0.7.13和更早的版本中,SSL不能被单独设置监听socket.只能通过ssl指令为全部server开启SSL,才能实现HTTP/HTTPS同时支持.为了解决这一问题,为listen指令添加了ssl参数.因此在0.7.14和之后的版本中,ssl指令不能再用了.
基于名称的HTTPS服务
一个很普遍的问题出现了,那就是解决当在一个ip地址配置监听两个或多个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;
...
}
使用这个配置,浏览器只能接收到默认的证书,在这个例子中就是www.example.com证书.这个是因为SSL协议本身造成的.SSL的连接是在浏览器发送HTTP请求之前建立的,因此nginx不知道请求的名称.所以它只能提供默认服务的证书.
解决这一问题最好的方式是分配不同的IP地址给每一个HTTPS服务
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;
...
}
使用多个名称生成SSL证书
这里有其他的方式解决上面的问题,但是每一种都有各自的缺点.一种方式是生成证书的时候更改SubjectAltName字段,比如: www.example.com 和 www.example.org 两个,但是这个字段有长度限制.
另一种方式是证书名称那里使用通配符,比如: *.example.org,但是 通配符名称只能用在一级子域名上.这个名称可以匹配www.example.org ,但是不能匹配example.org或 www.sub.example.org
这两种方式可以结合起来,在SubjectAltName字段里填上 example.org 和 *.example.org
最好把多域名证书和私钥放在配置http块中,这样所有的服务都可以继承这个配置
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;
...
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Nginx
# HTTPS
# 详解阿里云LINUX服务器配置HTTPS(NGINX)
# Linux shell实现HTTP服务示例代码
# Linux下nginx配置https协议访问的方法
# Linux下SVN服务器同时支持Apache的http和svnserve独立服务器两种模式且使用相同
# Linux服务器nginx访问日志里出现大量http 400错误的请求分析
# Linux下Web性能压力测试工具http_load使用教程
# Linux下模拟http的get/post请求(curl or wget)详解
# 玩转
# 是一个
# 这一
# 放在
# 在这个
# 多个
# 客户端
# 发送给
# 是在
# 都有
# 是因为
# 成了
# 带着
# 最好的
# 其他的
# 用了
# 结合起来
# 不带
# 它会
# 用在
相关文章:
如何用花生壳三步快速搭建专属网站?
ppt制作免费网站有哪些,ppt模板免费下载网站?
高防服务器租用如何选择配置与防御等级?
广州营销型建站服务商推荐:技术优势与SEO优化解析
建站中国官网:模板定制+SEO优化+建站流程一站式指南
小型网站制作HTML,*游戏网站怎么搭建?
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
建站之星logo尺寸如何设置最合适?
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何用wdcp快速搭建高效网站?
如何基于PHP生成高效IDC网络公司建站源码?
如何快速生成ASP一键建站模板并优化安全性?
山东网站制作公司有哪些,山东大源集团官网?
宝塔建站后网页无法访问如何解决?
如何通过多用户协作模板快速搭建高效企业网站?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
表情包在线制作网站免费,表情包怎么弄?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
定制建站是什么?如何实现个性化需求?
金*站制作公司有哪些,金华教育集团官网?
非常酷的网站设计制作软件,酷培ai教育官方网站?
建站之星导航配置指南:自助建站与SEO优化全解析
教学论文网站制作软件有哪些,写论文用什么软件
?
如何在Tomcat中配置并部署网站项目?
相册网站制作软件,图片上的网址怎么复制?
制作网站怎么制作,*游戏网站怎么搭建?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
高端建站三要素:定制模板、企业官网与响应式设计优化
中山网站制作网页,中山新生登记系统登记流程?
网站专业制作公司有哪些,做一个公司网站要多少钱?
如何在Golang中使用replace替换模块_指定本地或远程路径
建站之星后台密码遗忘?如何快速找回?
建站主机选购指南:核心配置与性价比推荐解析
如何实现建站之星域名转发设置?
如何通过虚拟主机空间快速建站?
建站之星客服服务时间及联系方式如何?
html制作网站的步骤有哪些,iapp如何添加网页?
如何在阿里云ECS服务器部署织梦CMS网站?
建站之星如何助力企业快速打造五合一网站?
Python如何创建带属性的XML节点
如何制作算命网站,怎么注册算命网站?
宿州网站制作公司兴策,安徽省低保查询网站?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
行程制作网站有哪些,第三方机票电子行程单怎么开?
Python lxml的etree和ElementTree有什么区别
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
定制建站流程解析:需求评估与SEO优化功能开发指南
*请认真填写需求信息,我们会在24小时内与您取得联系。