nginx配置ssl实现https访问(小白文)

 更新时间:2023年09月05日 14:14:34   作者:Mr2016  
安全起见,需要将之前的http接口访问变成https访问,所以需要配置SSL证书,本文主要介绍了nginx配置ssl实现https访问,具有一定的参考价值,感兴趣的可以了解一下

刚刚部署完服务器后的我满怀欣喜地访问自己的网站,看哪都哪满意。但是兴奋感一过发现,诶,为什么浏览器左上角会提示不安全?想了想,不行,我也要搞个https来,我也要上锁!

HTTP协议以明文方式发送内容,不提供任何方式的数据加密。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

申请证书

在这里,我直接申请腾讯云的免费证书。这里需要注意下,这亚洲诚信机构颁发的免费证书只能一个域名使用,子域名那些需要另外申请。别说,这腾讯里面申请还挺快的,十多分钟就通过了。下载的是一个zip文件,解压后打开里面的Nginx文件夹,把1_XXX.com_bundle.crt跟2_XXX.com.key文件复制下来。

打开nginx配置文件

不知道nginx文件位置的话可以通过whereis nginx命令来查找。

我的配置文件在/ect/nginx,现在把刚才的两个证书文件复制过来,待会直接配置使用就行了。nginx的配置文件是nginx.conf,里面的配置内容有以下,为了容易明白,我都加上了注释。

# 运行用户,默认即是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes  1;
#错误日志存放目录
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
pid        /var/run/nginx.pid;
events {
    worker_connections  1024; # 单个后台进程的最大并发数
}
http {
    include       /etc/nginx/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  /var/log/nginx/access.log  main; #nginx访问日志存放位置
    sendfile        on; #开启高效传输模式
    #tcp_nopush     on; #减少网络报文段的数量
    keepalive_timeout  65; #保持连接的时间,也叫超时时间
    #gzip  on; #开启gzip压缩
    include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件
}

大致看一下就好了,这是全局配置。为了更好管理,我们还是在最后一行声明的/etc/nginx/conf.d文件夹里进行子项目配置。
打开里面的default.conf

#设定虚拟主机配置
server {
  #侦听443端口,这个是ssl访问端口
  listen    443;
  #定义使用 访问域名
  server_name  XXX.com;
  #定义服务器的默认网站根目录位置
  root /web/www/website/dist;  
  #设定本虚拟主机的访问日志
  access_log  logs/nginx.access.log  main;
  # 这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置
  ssl on;
  ssl_certificate 1_XXX.com_bundle.crt;
  ssl_certificate_key 2_XXX.com.key;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
  ssl_prefer_server_ciphers on;
  #默认请求
  location / {     
  root /web/www/website/dist;      
      #定义首页索引文件的名称
      index index.html;
  }
  #静态文件,nginx自己处理
  location ~ ^/(images|javascript|js|css|flash|media|static)/ {
      #过期30天,静态文件不怎么更新,过期可以设大一点,
      #如果频繁更新,则可以设置得小一点。
      expires 30d;
  }
  #禁止访问 .htxxx 文件
  #    location ~ /.ht {
  #    deny all;
  #}
}
server
{
  # 80端口是http正常访问的接口
  listen 80;
  server_name XXX.com;
  # 在这里,我做了https全加密处理,在访问http的时候自动跳转到https
  rewrite ^(.*) https://$host$1 permanent;
}

唔,配置基本就这些,挺简单的吧。小白福利。

然后我们配置文件写好后用nginx测试一下

nginx -t

妥妥的,这个过了后就能重启nginx生效了。

这里需要注意下,导入新的证书后需要重启而不是重载,nginx -s reload是普通修改配置重载。

# 停止nginx
nginx -s stop
# 启动
nginx

重启后再次访问自己的网站,啧啧,完美,左上角加上锁,提示安全的连接。诶,搞定,开心。

nginx日常操作命令

  • nginx -t 测试配置文件
  • nginx -s reload 修改配置后重载生效
  • nginx -s reopen 重新打开日志文件
  • nginx -s stop 快速停止
  • nginx -s quit

查看nginx进程

ps -ef | grep nginx

到此这篇关于nginx配置ssl实现https访问(小白文)的文章就介绍到这了,更多相关nginx ssl https访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx 连接tomcat时会话粘性问题分析及解决方法

    Nginx 连接tomcat时会话粘性问题分析及解决方法

    这篇文章主要介绍了Nginx 连接tomcat时会话粘性问题分析及解决方法的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • nginx利用referer指令实现防盗链配置

    nginx利用referer指令实现防盗链配置

    nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求,我们应该牢记。下面这篇文章主要介绍了nginx利用referer指令实现防盗链配置的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-03-03
  • Nginx配置多台机器实现负载均衡的教程详解

    Nginx配置多台机器实现负载均衡的教程详解

    这篇文章主要为大家详细介绍了Nginx配置多台机器实现负载均衡的相关教程,文中的示例代码简洁易懂,有需要的小伙伴可以跟随小编一起学习一下
    2024-03-03
  • 在linux中部署Nginx项目的步骤详解

    在linux中部署Nginx项目的步骤详解

    本文详细讲解了在Linux系统部署Nginx的全过程,包括环境准备、安装方式(包管理/源码编译)、配置文件结构、反向代理、SSL设置、性能优化、安全策略及与PHP、Node.js等服务的集成,覆盖从基础搭建到高级配置的关键步骤,感兴趣的朋友一起看看吧
    2025-06-06
  • Nginx 搭建域名访问环境的详细过程

    Nginx 搭建域名访问环境的详细过程

    这篇文章主要介绍了Nginx 搭建域名访问环境的详细过程,通过示例代码讲解了Nginx 搭建转发网关进行负载均衡的相关操作,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • Nginx的反向代理实例详解

    Nginx的反向代理实例详解

    这篇文章主要介绍了Nginx的反向代理实例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Nginx配置location+rewrite实现隐性域名配置

    Nginx配置location+rewrite实现隐性域名配置

    本文主要介绍了Nginx配置location+rewrite实现隐性域名配置,包括基于根目录、条件和反向代理+rewrite配置的隐性域名实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • Nginx Lua Waf 插件一键部署的操作示例

    Nginx Lua Waf 插件一键部署的操作示例

    这篇文章主要介绍了Nginx Lua Waf 插件一键部署的操作示例,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Nginx中代理的上下文路径设置方式

    Nginx中代理的上下文路径设置方式

    这篇文章主要介绍了Nginx中代理的上下文路径设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 解析nginx server_name的具体使用

    解析nginx server_name的具体使用

    nginx server_name对于正确配置虚拟主机非常重要,本文主要介绍了解析nginx server_name的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08

最新评论