Https服务器配置-基于Nginx

上篇 我们讨论了用阿里免费证书在SpringBoot项目中配置Https服务,实际网站部署中,我们往往有一个前置的Nginx反向代理服务器,因为后端服务可能也不是SpringBoot项目,比如nodejs等。配置在Nginx可以屏蔽后端的具体服务,客户端和Nginx之间通过TSL安全协议通信,Nginx在和后端服务通过一个http代理通信。

 这样的好处有两个:第一是不用考虑后端服务的差异化配置,不管是java还是node还是别的开发的服务,Nginx代理的配置是不用变化的。第二是在 更改配置方便,证书管理和服务分离。

第一步 :申请下载证书

不清楚的可以参考上篇文章。将下载的Nginx版本证书和私钥拷贝到服务器对应目录:

/usr/local/nginx/conf/2974915_iotserver.vip.pem;
/usr/local/nginx/conf/2974915_iotserver.vip.key;
第二步:配置Nginx

Nginx需要编译ssl支持的模块,有关Nginx中模块和升级部署的,可以参考我另一篇文章。
具体配置如下:
nginx.conf文件配置

 	server {
            listen 443 ssl; # managed by Certbot
            server_name iotserver.vip;

            keepalive_timeout   70;
            ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
            ssl_certificate     /usr/local/nginx/conf/2974915_iotserver.vip.pem;
            ssl_certificate_key /usr/local/nginx/conf/2974915_iotserver.vip.key;
            ssl_session_cache   shared:SSL:10m;
            ssl_session_timeout 10m;

           location / {
                alias   /home/zx/soft/dist/;
                index  index.html index.htm;
            }
            
       		#api/v1后缀的,会代理到本机的java接口服务端口
            location ^~ /api/v1/ {
                proxy_pass http://127.0.0.1:8089;

            }

	}


    server {
        listen     80 ;
        server_name  www.iotserver.vip;
        rewrite ^(.*)$ https://${server_name}$1 permanent;
    }

    server {
        listen 80;
        server_name  iotserver.vip;
        rewrite ^(.*)$ https://${server_name}$1 permanent;
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    server {
        listen     80 default_server;
        return 500;

        #location /api/v1/file/upload {
          #  default_type text/html;
          #  return 200 "success11";
        #}
    }


配置解释说明:

 首先配置了一个server监听443端口,静态资源会路由到/home/zx/soft/dist/目录,api/v1/后缀的会代理到本机的java接口服务端口。另外配置了两个server用于重定向到https,这样当用户输入的是http是,自动转为https访问。最后一个是,针对其他异常路径80访问直接返回错误信息。这样做就保证了安全同时,增加了用户体验。

Nginx配置参数说明:

 在Nginx1.15之前需要 配置ssl on,之后的版本,只需要在listen之后加ssl即可开启SSL支持。

有关ssl的配置,实际上nginx官网也给出了示例:可以直接复制使用,更多参数配置,可以根据需求查看文档。

在这里插入图片描述

第三步:用域名访问

这个和之前一样,验证即可。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值