Nginx http升级到https的完整步骤
http和https的区别是
有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 【其实是同一个网站】
http://www.511easy.com/bug/login
http://www.88bugs.com/bug/login
怎样才能去掉这个不安全的提示呢? 从http升级到https呗
最终效果看一下:
如果目前有一个网站,要怎么升级为https呢
域名: 511easy.com
有域名了就可以申请免费的ssl证书,如下截图,基于各个web服务器的证书,我这边用的是nginx
那然后就需要配置nginx.conf的配置了,大概就是用下面的第三个,前两个是我用来保存的。
https和http相比,更加安全,不尽然,用jmeter/charles/wireshark/fiddle等,生成一个证书,对https的网站都能进行轻易的抓包,大多数的网站和app,我都能够进行抓包
upstream tomcatserver1 { server 127.0.0.1:8083; } upstream tomcatserver2 { server 127.0.0.1:8085; } server { listen 80; server_name 511easy.com; location / { proxy_pass http://tomcatserver1; index index.html index.htm; } } server { listen 80; server_name 511easy.com; location / { proxy_pass http://tomcatserver2; index index.html index.htm; } }
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name 88bugs; location / { proxy_pass http://localhost:8083; } } server { listen 80; server_name jenkins; location / { proxy_pass http://localhost:8080; } } }
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 443 ssl; server_name www.511easy.com; ssl on; ssl_certificate 1_511easy.com_bundle.crt; ssl_certificate_key 2_511easy.com.key; ssl_session_timeout 5m; location / { proxy_pass http://localhost:8083; } } }
巩固一下这几个缩写名词的含义
http --- hyper text transfer protocol,超文本传输协议,是一种建立在tcp上的无状态连接,整个基本的工作流程是客户端发送一个http请求
https ---- hyper text transfer protocol over secure socket layer 或 hypertext transfer protocol secure
全称是:超文本安全传输协议,可以简单理解为使用ssl加密传输的http协议
http的默认端口是80,https的默认端口是443
ssl是为网络通信提供安全及数据完整性的一种安全协议。
为什么要使用https
为了保护信息传输的安全性,数据完整性。让访客觉得网站可信任,对于国内的网络环境,也可以防止宽带运营商强制给网站挂广告。
如果希望一台服务器上,两个端口,分别用不用的域名执行不同的端口,nginx可以这么配置
worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 443 ssl; server_name www.88bugs.com; ssl_certificate 1_88bugs.com_bundle.crt; ssl_certificate_key 2_88bugs.com.key; ssl_session_timeout 5m; location / { proxy_pass http://localhost:8083; } } server { listen 443 ssl; server_name www.511easy.com; ssl_certificate 1_511easy.com_bundle.crt; ssl_certificate_key 2_511easy.com.key; ssl_session_timeout 5m; location / { proxy_pass http://localhost:8085; } } }
https://www.88bugs.com/bug/login
https://www.511easy.com/ 【目前修改后是指向另一个端口的项目了】
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
推荐阅读
-
docker完整配置nginx+php+mysql的方法步骤
-
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
-
利用Docker搭建本地https环境的完整步骤
-
LNMP小项目搭建,Centos7.6环境搭建Linux+nginx+mysql+php,wordpress个人博客的搭建(完整搭建步骤)
-
详解nginx服务器http重定向到https的正确写法
-
详解NGINX访问https跳转到http的解决方法
-
Nginx部署https网站并配置地址重写的步骤详解
-
nginx配置ssl实现https访问的步骤(适合新手)
-
nginx强制使用https访问的方法(http跳转到https)
-
Nginx同时支持Http和Https的配置详解