nginx偶发ssl失败(nginx配置ssl后无法访问)
nginx配置ssl后无法访问
环境都支持HTTPS的,只是没有SSL,需要淘宝Gworg获取SSL证书才可以。
推荐环境如下: WIN 2008 R2 IIS 7 以上版本 CentOS 6+ OpenSSL 1.0.1c+ Apache 2.4 + Nginx 1.0.6+ JDK1.7 tomcat7.0.56+nginx sslv3
竞赛赛制】
实践赛以培养和考察大学生ICT理论知识储备量、上机实践能力和团队协作能力为目标,分为云和网络两个技术赛道:
云赛道:考察云服务、大数据、存储、AI等IT领域知识技能
网络赛道:Datacom、Security、WLAN等IP领域知识技能
大赛分为资格赛、晋级赛、全球决赛三个阶段。
云赛道初赛考试大纲
一、资格赛(初赛)概况
二、考试比例分布
三、考试内容
云赛道考试内容包括但不限于云服务、大数据、存储和人工智能四个方向。具体内容包 括:华为云Stack的基础和解决方案;华为公有云的基础与解决方案;华为云服务的基础和 解决方案;大数据基础知识、常用大数据组件基本原理与工作机制;华为云服务 (MapReduce Service,MRS)基础与解决方案;华为存储的基础和解决方案;人工智能基础知识。每个方向都包括对业界通用知识的测试,以及对华为产品、解决方案和服务的测试。
四、考点描述
<1>云服务模块
包括云计算基础技术、配置和维护,包括云计算理论、云计算关键技术、 华为云计算软硬件架构、部署管理等。华为云服务也包括在内,涵盖云服务的概念和价 值、华为公有云的架构和生态系统、华为云服务的运营/管理/应用、存储服务、网络服 务、安全服务、云监控服务、RDS服务。此外,一些高级服务如云应用与云桌面、容器服 务、迁移服务等也是华为云服务的考点。
<2>大数据模块
包括大数据行业发展趋势和大数据特点;华为MapReduce服务(MRS)解决 方案的体系结构、功能和成功案例;大数据常用组件和必备组件的基本技术原理(包括 HDFS、HBase、Hive、Loader、MapReduce、Yarn、Spark、Flume、Kafka、ZooKeeper、 Streaming and Flink等);华为MRS集群操作维护;大数据平台开发。
<3>存储模块
包括存储基础知识;RAID技术;存储协议基础知识;备份和容灾基础知识;OceanStor Dorado V6系列产品技术。
<4>人工智能模块
包括人工智能概述、Python编程与实验、TensorFlow或Pythorch的介绍 与实验、深度学习的知识与概述、华为云EI概述、图像识别、语音识别、自然语言处理实 验。
五、模块知识点描述
<1>云服务知识点
1. 云计算的基本概念和价值;
2. 云计算的基础知识和技术理论;
3. 虚拟化技术的原理、特点及相关应用;
4. 云服务简介;
5. 华为云服务——计算服务;
6. 华为云服务——存储服务;
7. 华为云服务——网络服务;
8. 华为云服务——云安全服务;
9. 华为云服务——云监控服务;
10. 华为云服务——关系数据库服务;
11. 华为云服务——应用;
12. 华为云服务——云桌面服务;
13. 华为云服务——容器服务;
14. 华为云服务——无服务计算;
15. 华为云服务——迁移服务。
<2>大数据知识点
1. HDFS——分布式文件系统技术;
2. MapReduce——分布式离线批处理与Yarn-资源协调;
3. Spark2x——内存分布式计算引擎;
4. Hive -分布式数据仓库;
5. HBase——分布式NoSQL数据库;
6. Streaming——分布式流计算引擎;
7. Flink——流处理和批处理平台;
8. Loader\Sqoop\Kettle——数据转换工具;
9. Elasticsearch——分布式、支持多租户的全文搜索引擎;
10. Redis——分布式键值数据库;
11. Flume——海量日志聚合;
12. Kafka——分布式消息订阅系统;
13. ZooKeeper——分布式协调服务;
14. 华为MapReduce服务(MRS)——华为MRS集群操作维护;
15. 华为数据湖探索(DLI)——DLI是一个完全兼容Apache Spark和Apache Flink生态的无服务器大数据计算分析服务,支持批量流化;
16. 华为云服务(包括ECS、EIP、VPC、DIS、OBS、CSS、RDS、DWS、CDM、DLV)的基本选项;
17. MRS和DLI相关的华为云服务如ECS、EIP、VPC、DIS、OBS、CSS、RDS、DWS、CDM、
DLV等。
<3>存储知识点
1. 存储基本原理:
(1) 存储系统组件、存储介质类型和特性、HDD和SSD基础知识、备份和容灾的概念;
(2) RAID原理和不同的RAID级别(0、1、5、6、10)功能和典型应用场景;
(3) DAS、SAN、NAS的概念、功能和体系结构;SCSI、FC、iSCSI、CIFS、NFS技术。
2. 存储产品知识:
(1) 华为存储产品介绍及典型应用;
(2) 融合存储技术;
(3) OceanStorDorado V6产品功能、硬件、接口和典型组网;存储配置(LUN、主机、映射等);
(4) 与Linux操作系统平台的存储连接、UltraPath安装和配置;
(5) 华为OceanStorDorado V6产品增值功能的介绍。
3. 存储解决方案:
(1) 备份和容灾技术;
(2) 主备容灾方案;
(3) 双活容灾解决方案;
(4) 数据迁移解决方案。
<4>AI知识点
1. Python编程基础,包括列表、元组、字符串、字典、条件、循环语句、函数、面向对象编程、日期和时间、正则表达式、文件操作等;
2. 数学基础知识,包括线性代数、概率论、信息论和数值计算;
3. Tensorflow/pytorch介绍;
4. 机器学习算法;
5. 深度学习知识:深度学习概述,如深度学习的基础知识和应用场景;
6. 华为云EI概述;
7. CNN、RNN、GAN、LSTM,强化学习,神经网络结构,梯度下降,超参数,网络优化;
8. 计算机视觉、语音处理、自然语言处理相关知识;
9. 使用ModelArts平台进行开发。
网络赛道初赛考试大纲
一、资格赛(初赛)概况
二、考试比例分布
三、考试内容
网络赛道考试内容包括但不限于数通、安全、无线局域网等技术方向的基础知识,具体内容包括:路由协议基本原理和实现、二层交换技术原理、IPv6基础、华为防火墙安全策略、VPN技术原理、WLAN相关组网及配置。
四、考点知识点描述
<1>路由交换知识点
1. 数通基础知识,TCP/IP协议栈基础知识;
2. STP、RSTP和MSTP原理,应用和配置;
3. TCP/IP协议栈基础,PPP等广域网协议基本原理,以及这些协议在华为路由器上的实现;
4. 以太网技术、VLAN、Eth-Trunk、iStack等技术原理及实现;
5. IPv6基础、无状态自动配置、DHCPv6、IPv6过渡等技术原理及实现;
6. OSPF、OSPFv3、ISIS (IPv4)、ISIS (IPv6)、BGP、BGP4+等路由协议基本原理和实现;
7. MPLS、MPLS VPN、GRE VPN、L2TP、VRRP、BFD技术的原理与配置;
<2>安全知识点
1. 信息安全标准与规范、网络基础概念与常用网络设备、常见信息安全风险、风险防范与信息安全发展趋势;
2. 网络安全基础知识、防火墙基础知识。基本防火墙技术和安全策略。
3. 防火墙原理,如高可靠性技术、包过滤技术、虚拟系统和NAT技术,以及这些技术在华为防火墙中的实现;
4. 华为防火墙用户管理及认证原理,IPSec、SSL等VPN技术原理以及在华为防火墙中的实现;
5. 加解密机制。PKI证书系统及密钥技术的应用;
6. 安全运营、数据监控与分析、数字取证、网络安全应急响应的基本概念;
7. SSL VPN技术:虚拟网关概念及配置、web代理配置、文件共享配置、端口转发配置、网络扩展配置。
<3>无线局域网知识点
1. WLAN基础知识及相关原理;
2. WLAN拓扑结构,802.11协议,802.11物理层技术,CAPWAP基础;
3. WLAN相关组网及配置、漫游、双机热备、安全配置;
4. WLAN服务质量以及网络优化。
nginx ssl配置详解
TCP 配置是 Nginx 中一个比较关键的属性,它可以控制 Nginx 传输协议。当配置 Nginx 时,需要注意以下几点:
1. Nginx 中的 tcp 配置有三个参数:接收缓冲区大小(rcvbuf)、发送缓冲区大小(sndbuf)和最后一次活动(linger)。
2. 接收缓冲区和发送缓冲区的大小的单位都是字节,且一般都要大于或等于4K,通常情况下,接收缓冲区要大于发送缓冲区。
3. linger 有三个属性,即: on(开启)、off(关闭)和 timeout(超时),当开启时,Nginx 在服务器关闭连接之前,会将发送缓冲区中的未完成数据发送出去,而 timeout 属性则可以设定超时时间,默认超时时间为0,即Nginx不会考虑超时时间。
4. 在配置 Nginx 时,要根据实际情况调整 tcp 参数,以获得最佳性能。
nginx配置ssl后443无法访问
解决方法:
1、查看端口被哪个程序占用 ,netstat -ano 可以看到pid 然后到任务管理器中找对应pid 修改任意一边的端口即可。
2、知道了问题所在,只需要把apache的443端口修改下就可以了。
修改443端口: 在XAMPP\apache\conf\extra\httpd-ssl.conf中把443修改为新的端口或者关闭SSL扩展。
完成上面步骤,端口被占用的问题就可以解决了。
nginx ssl module
ngx_upload模块是nginx中一个文件上传模式了,下面我们来看看nginx安装文件上传ngx_upload模块步骤,希望例子对各位有帮助.
安装nginx,并加入nginx upload module和nginx cache purge module:
mkdir ~/download
cd ~/download
wget http://www.grid.net.ru/nginx/download/nginx_upload_module-2.0.12.tar.gz
tar zxf nginx_upload_module-2.0.12.tar.gz
git clone https://github.com/FRiCKLE/ngx_cache_purge.git
yum groupinstall "Development Tools"
yum install pcre-devel zlib-devel openssl-devel
wget http://nginx.org/download/nginx-1.2.3.tar.gz
tar zxf nginx-1.2.3.tar.gz
cd nginx-1.2.3
./configure --prefix=/usr/local/nginx --with-pcre --with-http_ssl_module --add-module=../nginx_upload_module-2.0.12 --add-module=../ngx_cache_purge
make && make install
尝试启动:
/usr/local/nginx/sbin/nginx
ps aux | grep nginx
假如我的网站是放在 /home/mysite/www 下的,而nginx配置文件就放在 /home/mysite/etc 下:
省略了很多内容的配置文件,mysite.conf:
server {
listen 80;
server_name 192.168.1.123;
client_max_body_size 20M;
location /upload {
include /home/mysite/etc/nginx/ngx_upload.conf;
}
....其他的配置....
location @after_upload {
proxy_pass http://www_backend;
}
}
将nginx_upload.conf独立开来,是因为其他网站也可以包含此上传配置文件:
nginx_upload.conf:
upload_pass @after_upload;
upload_pass_args on;
upload_cleanup 400 404 499 500-505;
upload_store /home/mysite/www/uploads/tmp;
upload_store_access user:r;
upload_limit_rate 128k;
upload_set_form_field "${upload_field_name}_name" $upload_file_name;
upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;
upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
upload_pass_form_field "^.*$";
而最后那个参数:upload_pass_form_field,代表可以将表单的所有参数保持原样传递到后端,需要区分文件保存类型时很有用。
nginx ssl_ciphers配置
让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可能会被运营商劫持,然后在网站里显示一些莫名其妙的广告。
有HTTPS的时候,通俗地讲所有的数据传输都会被加密,你和网站之间的数据交流也就更加安全。
相关简介Let’s Encrypt 如果要启用HTTPS,我们就需要从证书授权机构处获取一个证书,Let’s Encrypt 就是一个证书授权机构。我们可以从 Let’s Encrypt 获得网站域名的免费的证书。
Certbot Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。
便宜SSL 便宜SSL是一家国内的SSL证书提供商,同样也拥有免费证书。而且提供丰富的工具: https://www.pianyissl.com/tools。
获取HTTPS证书 获取SSL证书的过程大体上都一样。既可以图形化,也可以命令行,最后实现的效果都完全一样,大家各取所需。
命令行安装Certbot 进入Certbot的官网,选择你所使用的软件和系统环境,然后就会跳转到对应版本的安装方法,以Ubuntu + Nginx为例。
sudo apt-get updatesudo apt-get install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt-get updatesudo apt-get install certbot申请证书 安装完成后执行:
certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com 这条命令的意思是为以/var/www/example为根目录的两个域名example.com和www.example.com申请证书。
如果你的网站没有根目录或者是你不知道你的网站根目录在哪里,可以通过下面的语句来实现:
certbot certonly --standalone -d example.com -d www.example.com 使用这个语句时Certbot会自动启用网站的443端口来进行验证,如果你有某些服务占用了443端口,就必须先停止这些服务,然后再用这种方式申请证书。
证书申请完之后,Certbot会告诉你证书所在的目录,一般来说会在/etc/letsencrypt/live/这个目录下。
图形化 进入便宜SSL的官网https://www.pianyissl.com,注册了账号之后,选择那个体验版的免费测试,然后点确认购买。
输入域名并点击生成CSR并提交申请按钮。
点击确定按钮。
接下来会选择验证方式。
这里我选择邮箱验证方式,其它另外两种依照你的个人情况而定,反正就是为了验证域名是不是你的而已。
大约过几分钟,邮箱会收到一封验证邮件,如下图,复制②指向的一串验证码,点击①处的Here链接。
输入验证码,点击Next>按钮。
提示已经输入正确的验证码,点击Close Window。
大约等到10分钟左右,再次登陆 https://www.pianyissl.com,进入个人中心,可以看到已经成功申请SSL证书,点击查看详情。
此时你可以点击箭头所指的证书打包下载,然后免费的SSL证书就可以下载到本地了,下载后可以看到SSL压缩包内的文件。
部署HTTPS证书 找到网站的Nginx配置文件,找到listen 80;,修改为listen 443;在这一行的下面添加以下内容:
ssl on;ssl_certificate XXX/fullchain.pem; 修改为fullchain.pem所在的路径ssl_certificate_key XXX/privkey.pem; 修改为privkey.pem所在的路径ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on; 保存退出后,通过nginx -t来检查配置文件是否正确,有错误的话改之即可。配置文件检测正确之后,通过nginx -s reload来重载配置文件。
然后通过访问https://example.com来查看是否配置成功。
如果发现无法访问或者是加载不出来的话检查一下443端口有没有开启!
设置HTTP强制跳转HTTPS 上一步成功之后大家可能会发现通过原来的http://example.com无法访问网页了,因为HTTP默认走的是80端口,我们刚才将其修改为443端口了。在这里我们可以在配置文件的最后一行加入以下代码:
server {listen 80;server_name example.com; 这里修改为网站域名rewrite ^(.*)$ https://$host$1 permanent;}意思是每一个通过80端口访问的请求都会强制跳转到443端口,这样一来访问http://example.com的时候就会自动跳转到https://example.com了。
命令行下设置证书自动续期 有心的小伙伴可能会留意到我们刚才申请的整数的有效期只有90天,不是很长,可是我们可以通过Linux自带的cron来实现自动续期,这样就相当于永久了。
随便找一个目录,新建一个文件,名字随便起,在这里以example为例,在里面写入0 */12 * * * certbot renew --quiet --renew-hook "/etc/init.d/nginx reload",保存。
然后在控制台里执行crontab example一切都OK了。原理是example里存入了一个每天检查更新两次的命令,这个命令会自动续期服务器里存在的来自Certbot的SSL证书。然后把example里存在的命令导入进Certbot的定时程序里。
附:其它环境下的证书部署 https://www.pianyissl.com/support/
Nginx相关命令nginx -t 验证配置是否正确nginx -v 查看Nginx的版本号service nginx start 启动Nginxnginx -s stop 快速停止或关闭Nginxnginx -s quit 正常停止或关闭Nginxnginx -s reload 重新载入配置文件crontab相关命令cat /var/log/cron 查看crontab日志crontab -l 查看crontab列表crontab -e 编辑crontab列表systemctl status crond.service 查看crontab服务状态systemctl restart crond.service 重启crontab参考文档https://lucien.ink/archives/81/https://www.cnblogs.com/zoro-zero/p/6590503.htmlhttp://blog.csdn.net/gsls200808/article/details/53486078https://certbot.eff.org/#ubuntuxenial-otherhttp://nginx.org/en/docs/http/configuring_https_servers.html
https://www.cnblogs.com/zdz8207/p/10729294.html
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.