Nginx怎么把http升级到https

http和https的区别是

有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 【其实是同一个网站】

怎样才能去掉这个不安全的提示呢? 从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协议

Nginx教程:如何将HTTP升级为HTTPS

http的默认端口是80,https的默认端口是443ssl是为网络通信提供安全及数据完整性的一种安全协议。

为什么要使用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;

}
}
}

一、什么是HTTP和HTTPS
HTTP是一种基于文本的协议,用于Web浏览器和网站服务器之间的通信。HTTPS(HTTP Secure)是加密版本的HTTP协议,用于保护数据在传输过程中的安全性。
二、为什么需要将HTTP升级为HTTPS
随着网络攻击和数据泄露的不断增加,将HTTP升级为HTTPS变得至关重要。HTTPS使用SSL / TLS进行数据加密,从而保护数据的隐私和完整性,并且可以提高搜索引擎排名。
三、如何将Nginx配置为HTTPS
要将Nginx配置为HTTPS,您需要获取SSL证书并在Nginx配置文件中设置。您可以使用免费的Let's Encrypt证书或付费证书。然后,您可以编辑Nginx配置文件,将端口从80更改为443,以便使用HTTPS。
四、如何测试您的Nginx配置
完成配置后,您可以使用浏览器中的开发人员工具检查是否已成功加载SSL证书。还可以使用SSL测试工具检查配置的完整性和安全性。
通过将HTTP升级为HTTPS,可以提高数据的保密性和完整性。以下是将Nginx配置为HTTPS的步骤,以及如何测试您的配置是否成功的简要说明。