Linux上Nginx中开启SSL模块,实现Https访问

一、Nginx简介

1.Nginx是一款轻量级、高性能的web服务器/反向代理服务器,能实现负载均衡。
2.负载均衡的方式有:轮询、权重(weight)、热备(backup)以及IP地址Hash。

二、主题业务背景

一般项目正式上线后,不会再使用服务器的ip地址来访问项目,而是使用事先申请好的域名(该域名绑定IP地址)来访问,这样一来Nginx作为代理服务器需要开启SSL模块,就需要在 nginx.conf 文件进行相关SSL证书的配置以便Nginx实现Https访问,这样大家都可以使用域名随地访问我们的项目了。

三、Nginx实现Https方式前期准备

SSL证书申请

Nginx配置文件中需配置SSL证书的两种pem 和 key格式的文件路径,要拿到这个两个格式文件,首先得使用你的域名成功到申请证书。

Nginx需要开启SSL模块

1.要实现你的Nginx实现Https访问,首先你的Nginx需要开启SSL模块。
2.开启SSL模块有两种方式:nginx安装时就开启该模块、nginx安装成功后再单独开启此模块。两种方式开启的详细步骤大家可以搜索相关文章。
3.推荐开启SSL两种方式参考博文:
https://blog.csdn.net/qq_42751248/article/details/109326646
https://www.cnblogs.com/ghjbk/p/6744131.html

四、Nginx中配置Https

配置前介绍

为了便于更好理解我的nginx.conf文件里的内容,我这里简单介绍一下我的项目:前后端分离的架构,前端是vue项目,后台是SpringBoot项目,由于SpringBoot框架内嵌Tomcat,因此不用再在服务器上安装Tomcat,直接本地打成 jar 包上传至服务,使用命令 “nohup java -jar ***.jar &” 直接启动后端工程即可,前端工程本地打成静态工程上传到服务器特定的目录下即可。

nginx.conf配置详情

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    # HTTPS server
    server {
        listen       443 ssl;
		#域名
        server_name  域名名称;
	    client_max_body_size 1024M;
		
		#填写SSL证书的两个格式文件的绝对路径 cert文件夹存放这两种文件 
		#cert文件夹位于nginx安装路径/usr/local/nginx/conf下
        ssl_certificate      cert/******.pem;
        ssl_certificate_key  cert/******.key;
		
        #以下都是基础配置 照写即可
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        
        location / {
		  #前端打包后的静态工程存放路径
          root   /usr/local/app/*****;
		  #默认访问index.html
          try_files $uri $uri/ /index.html;
          index  index.html index.htm;
        }
        #所有的带prod-api请求进入
        location /prod-api/ {
           #proxy_set_header Host $http_host;
           #proxy_set_header X-Real-IP $remote_addr;
           #proxy_set_header REMOTE-HOST $remote_addr;
           #proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		   
	       #反向代理地址 由于我的后端工程也是在此服务器上,所以是localhost
		   #如果你反向代理ip地址不是localhost 请填写具体ip地址 并打开该location注释掉的proxy_set_header
       	   proxy_pass http://localhost:8080/;
       }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值