使用nginx配置https

我们都知道一开始我们的域名解析到对应的服务器(ip),这时候我们的链接是不安全的,我们发现https是安全的连接,那么我们就来配置https。

那么,为什么我们需要https?参考这篇文章:http 与 https 的区别以及加密详解
大家可以参考我之前的文章进行安装nginx:Linux安装nginx
参考:http 与 https 的区别以及加密详解

  • 首先我们的服务器上要配置nginx,利用nginx来配置我们的https,来达到我们的连接是安全的目的。(如下图所示)
    在这里插入图片描述
  • 服务器上安装好nginx以后吗,我们需要去购买https证书,当然我们可以在阿里云上购买免费的证书来进行测试。
    在这里插入图片描述
  • 购买完证书以后,我们要把他们下载下来,放到我们的服务器上,然后利用nginx去配置。
    在这里插入图片描述
  • 刚刚都是准备工作,我们接下来进入正题,进入我们的服务器,进入etc/nginx 目录下

一开始是没有self和cert两个文件夹的,我新建了这两个文件夹,cert用来防止https证书,self来防止配置文件。这里需要注意的是安装完nginx以后,会有一个默认的配置文件,我个人习惯是新建一个配置文件,然后在默认的配置文件上加一行代码来识别我先新建的配置文件。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 在默认的配置文件里面我们添加一行代码,用来识别我们新建的配置文件

    在这里插入图片描述
    在这里插入图片描述
  • 然后我们就来书写我们的自定义的配置文件
    self.conf 文件的内容如下:
server {
    
    
	listen 80;
	server_name www.abc.com;  #域名
	return 301 https://$server_name$request_uri;	
	location / {
    
    
		proxy_pass http://127.0.0.1:8080;   #项目运行端口
		proxy_set_header Host $host:80;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For  
            $proxy_add_x_forwarded_for;
		proxy_set_header Via "nginx";
	}
}

server {
    
    
	listen  443 ssl;  #对应服务器要开通443端口
	server_name www.abc.com;
	ssl_certificate  cert/4962168_www.abc.com.pem;  #证书的pem
	ssl_certificate_key cert/4962168_www.abc.com.key; #证书的key
	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout 5m;
	ssl_ciphers HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers on;
	location / {
    
    
        proxy_connect_timeout 1200s;
        proxy_send_timeout 1200s;
        proxy_read_timeout 1200s;
        proxy_pass http://127.0.0.1:8080;
	}
 }
  • 需要注意的是服务器的443端口要打开,就是在安全组里面打开443端口,这个配置一下就可以了。
    在这里插入图片描述
  • 最后我们重启nginx服务
nginx -s reload
  • 我们访问我们的域名,发现他是https连接安全的。

猜你喜欢

转载自blog.csdn.net/qq_44922113/article/details/113461544
今日推荐