Nignx配置HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

SSL证书

SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。

由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了),即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。

CA域名证书

可以在各大云服务商进行购买,此处不过多赘述。

这类型主要用于公网环境,使用浏览器访问的网站使用。

自签名证书

此类证书比较适用于局域网、开发测试。因为此类证书不被浏览器信任,如需要公网环境使用,需要客户端安装公钥并添加信任,该流程对普通用户不友好,所以这类证书不建议用于公网环境。

创建SSL证书

openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

# 生成key
openssl genrsa -out server.key 1024
openssl rsa -in server.key -pubout -out server.pem
openssl req -new -key server.key -out server.csr

# 生成crt
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
openssl x509 -in server.crt -out server.cer -outform der

配置nginx

nginx新增配置如下:

server {
	# 端口号自定义
    listen       443;
    server_name  localhost;

	# 开始ssl
    ssl on;
    # 证书地址
    ssl_certificate      /opt/crt/server.crt;
    ssl_certificate_key  /opt/crt/server.key;
   
    location / {
    	# 服务地址
    	proxy_pass http://172.25.5.15:8080;
    }
}
# Nginx  HTTPS  网络 
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×