http与https的区别
1.传输安全性不同。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
2.默认端口不同,http默认使用80端口,https默认使用443端口。
3.资源占用不同。HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。
4.证书要求不同,https需要认证CA证书(如果是本地证书需要导入信任文件),而http不需要认证直接可以使用。
https升级流程(nginx):
1.检查是否安装了ssl,如果未安装,输入命令 yum -y install openssl openssl-devel ,继续执行配置
./configure,完成之后执行命令make配置文件使其生效。
直至输入命令如果出现如图所示
安装ssl完成
2.申请证书,并将证书放在准备好的文件下
3.修改配置文件,下图给出我们样例
upstream mainlandManage {
server 127.0.0.1:9094;
}
server {
listen 80;
server_name o2omanage.kaisenbaoxian.com;
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
listen 443 ssl;
server_name o2omanage.kaisenbaoxian.com;
access_log /var/log/nginx/o2omanage.kaisenbaoxian.com.log main;
ssl_certificate /etc/nginx/nginx-1-17/cert/manage/4271840_o2omanage.kaisenbaoxian.com.pem;
ssl_certificate_key /etc/nginx/nginx-1-17/cert/manage/4271840_o2omanage.kaisenbaoxian.com.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:20m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /mainlandManage {
proxy_pass http://mainlandManage/mainlandManage;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
#location /webSocket {
#proxy_http_version 1.1;
#proxy_pass http://wsbackend/mainlandManage/;
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_read_timeout 3600s;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection $connection_upgrade;
#}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
完成配置
4../nginx -t 验证配置文件是否正常,如果正常即可执行。./nginx -s reload 热更新使https即可生效
问题:
我们是一家第三方公司,是通过其他公司跳板机访问,改了之后很久不生效,沟通合作方加入白名单设置即可。