nginx配置https访问

article/2025/11/5 8:24:53

01、http&https

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

02、https使用场景

1:网站数据传递的安全性

2:基于前后端分离开发方式,比如微信小程序,等这些移动端应用开发,比如:你的服务器接口必须是:https,微信小程序在真实的项目发布的,如果不是https的接口你也是通不过。

03、https配置前提

1、必须拥有一个已经备案的域名
2、拥有一台服务器(含公网IP)
3、服务器与域名进行解析
4、领取ssl安全证书
5、证书授权与安装至nginx中

04、域名解析

在这步之前,你需要在工信部成功备案信息,注意:备案地址取决你的服务器厂商,服务器在哪个公司购买的就去哪个公司去备案,备案详情请咨询客服,客服会把你讲的明明白白。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p0KkMKi2-1640519870392)(img-u6pRtIwy-1640519487086)
注意:若你的域名厂商与服务器厂商不是同一个,需要修改域名厂商的dns服务器地址,(看情况)如下:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

05、申请ssl证书

搜索栏搜索SSL
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
申请免费证书,输入域名
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建证书
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QZSAxGP3-1640520189774)

下载证书
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBOFPFmv-1640520243745)
解压证书
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WfSV3bmF-1640519487095)

06、安装nginx

1、创建安装目录

mkdir -p /www/server/nginx
cd /www/server/nginx

2、下载安装nginx

wget http://nginx.org/download/nginx.1.20.1.tar.gz

3、安装编译文件

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

4、解压nginx

tar -zxvf nginx-1.20.1.tar.gz

5、创建临时目录

mkdir -p /var/temp/nginx

6、进入安装包路径并编译安装

cd nginx-1.20.1
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_stub_status_module 

7、编译安装

make && make install

8、进入sbin目录启动nginx

cd /usr/local/nginx/sbin
#执行启动
./nginx
#停止:
./nginx -s stop
#重新加载:
./nginx -s reload 

9、配置nginx环境变量

vim /etc/profile

在末尾加入

export NGINX_HOME=/usr/local/nginx
export PATH=$NGINX_HOME/sbin:$PATH

重启

source /etc/profile

如果你为宝塔安装nginx,无需操作以上步骤,不过不建议使用宝塔安装

07、上传ssl证书

在nginx的conf目录下新建一个cert目录,并将这两个文件上传到cert目录下
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XGUdV3dF-1640519487096)

08、配置ssl

# 开启gzip压缩
gzip on;
gzip_min_length 10k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript image/jpeg image/gif image/png image/jpg;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";# tomcat服务
upstream tomcatservers {server 127.0.0.1:8080;server 127.0.0.1:8081;
}server {listen 80;server_name www.qdwork.top; #需要将yourdomain.com替换成证书绑定的域名。rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。location / {proxy_pass http://tomcatservers;}
}#以下属性中,以ssl开头的属性表示与证书配置有关。
server {listen 443 ssl;#配置HTTPS的默认访问端口为443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。server_name www.qdwork.top; #需要将yourdomain.com替换成证书绑定的域名。root html;index index.html index.htm;ssl_certificate cert/6179501_www.qdwork.top.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。ssl_certificate_key cert/6179501_www.qdwork.top.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。ssl_prefer_server_ciphers on;location / {proxy_pass http://tomcatservers;}
}

重启nginx服务

注意:如果是宝塔安装的nginx,还需在宝塔面板放行443端口,当网站配置https后,就无法通过js加载http服务的资源了。


http://chatgpt.dhexx.cn/article/xXNnJJH1.shtml

相关文章

IIS 配置 HTTPS

前言 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。使用SSL证书&…

群晖 Docker Gitlab 安装 及 https配置

群晖 Docker Gitlab 安装 及 https配置 安装 新建共享文件夹gitlab,创建下级目录/config /logs /data 修改权限完全控制 Docker下载镜像 配置存储位置及端口 启动容器 配置 https配置 在gitlab/config/目录下新建文件夹ssl将阿里云SSL证书文件放到ssl下&…

SpringBoot配置https

为什么要把网站转为https? https是网络数据传输协议,也就是说www的网站在传输数据的时候,都必须遵守这个协议,遵守统一的标准的协议,有利于数据更好的传送,而https则可以理解为是http的升级版或者安全版本…

nginx 代理 http、https 配置

nginx 代理 http、https 配置 http配置ssl https 配置 nginx 部署安装在之前的文章中已有教程,这里不再叙述,详情访问:nginx在centos7环境下安装本文主要讲述配置代理,包含http 、https代理,配置文件在 nginx 安装目录…

服务器https配置

1.登录阿里云后台: https://www.aliyun.com 在右上角"产品与服务"->“证书服务” 在证书列表,点击右上角"购买证书"->选择免费证书 返回证书列表, 选择刚刚申请的证书, 点击右边的"补全" 补全资料 等待审核通过之后下载配置证书 选…

Charles 抓包 Https 配置指南

一、说明 在做客户端开发的时候大家一定经常用到抓包工具去抓接口排查调试,非常的简捷方便。Charles 是一款非常好用的抓包工具,我在日常开发中也很喜欢用其进行接口联调、问题排查。 以前的客户端接口请求大多是 Http 传输的,抓接口直接配…

Charles抓https配置

环境:window10、charles4.6.1、ios14.4 1、第一步:pc安装证书 注意:证书存储的位置要选择‘受信任的根证书颁发机构’ 2、第二步:手机浏览器打开chls.pro/ssl下载安装证书 注意:下载安装完证书后,还需要如下设置 3、…

Tomcat配置Https

前言: 对于tomcat配置https还是挺简单的,首先你需要一个网站证书(里面包含了公钥和私钥),这个证书相当于钥匙,但是https证书是需要花钱买的,我们在练习模拟不需要花钱买,可以使用 j…

Tomcat详解(七)——Tomcat使用https配置实战

今天继续给大家介绍Linux运维相关知识,本文主要内容是Tomcat使用https配置实战。 一、tomcat证书配置 首先,要实现https,就必须先具有tomcat证书。我们在安装tomcat的时候,肯定都先安装了JAVA,而JAVA中有自带的证书生…

宝塔配置https

1. 2.左侧选中ssl,右上选中lets’encrypt 然后申请,结果如图 3.放行443 端口,我的是阿里云,其他云也是一样,要在安全组中出方向,添加开放443 4.宝塔中的设置,也要放行443端口的访问 5.然后用…

tomcat的https配置(亲测有效)

tomcat的https配置 1、下载证书2、配置证书1.上传文件到服务器2、编辑conf/server.xml文件 3、配置http自动跳转到https4、最后重启tomcat服务器5、测试 1、下载证书 申请域名并通过审核后就可以下载电子证书 点击选择我的证书 我这里选择免费证书 然后按照提示下载 tomcat 的…

nginx-http重定向到https配置

第一步打开服务器找到nginx目录文件,找到nginx.conf文件进行配置 我们只需要找到http所在的那个服务加入一行代码 return 301 https://www.abc.com$request_uri; 就可以将http协议改成https http{include mime.types;server{charset utf-8;listen 443 s…

Spring Boot 的HTTPS 配置

HTTPS 配置 由于HTTPS具有良好的安全性,在开发中得到了越来越广泛的应用,像微信公众号、小程序等的开发都要使用HTTPS来完成。对于个人开发者而言,一个HTTPS 证书的价格还是有点贵,国内有一些云服务器厂商提供免费的HTTPS证书&am…

https协议配置

前言:https协议配置,一般用于针对政府部门的终端有网络防火墙、网络过滤器等,使系统中的一些请求被拦截(劫持),原因一般为在请求头中有存在敏感信息,被网络过滤的监听器发现即拦截,可…

https配置

1.https定义: HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体…

配置HTTPS详细教程(内网)

前言 HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL,H…

Hadamard和Rademacher

Hadamard基向量 H i j 1 H_{ij} \pm 1 Hij​1, H n T H n H n H n T n I n H_n^T H_n H_n H_n^T n I_n HnT​Hn​Hn​HnT​nIn​. 最简单的Hadamard矩阵的构造:Sylvester’s Construction。 Rademacher基信号 r k ( t ) s i g n sin ⁡ 2 k π t r_k(t) \…

Linux驱动之DMA框架(一):DMA框架的基本轮廓

DMA简介 DMA(Direct Memory Access,直接存储区访问),用于在外设与存储器之间以及存储器与存储器之间提供高速数据传输。可以在无需任何 CPU 操作的情况下通过 DMA 快速移动数据,这样节省的 CPU 资源可供其它操作使用。现代的处理器或者是微控制器都内嵌…

DMA概述

目录 传送原理工作方式 DMA即直接存储器存取(Direct Memory Access).用DMA传输数据时,在高速I/O设备与存储器之间直接开辟数据传输通道,此时CPU不再直接参与数据交换,而是通过DMA控制器来管理。 DMA数据传输示意如下: …

10、Random

利用Random类来产生5个20~ 50之间的随机整数。 提示: Random.nextInt(方法的作用是生成一个随机的int值 ,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。 方法1:int nextInt(int n) import java. util. Rand…