nginx 代理 http、https 配置

article/2025/11/5 8:23:17

nginx 代理 http、https 配置

  • http配置
  • ssl https 配置

  • nginx 部署安装在之前的文章中已有教程,这里不再叙述,详情访问:nginx在centos7环境下安装
  • 本文主要讲述配置代理,包含http 、https代理,配置文件在 nginx 安装目录下的 conf/nginx.conf ,
  • 如果想了解配置文件参数详情详见:nginx在centos7环境下安装
  • 按照nginx在centos7环境下安装,nginx 安装目录为 /usr/local/nginx 。如需查找用命令: whereis nginx

http配置

  • 编辑 conf/nginx.conf

     cd /usr/local/nginxvim conf/nginx.conf
    
  • 如下图所示,这里新增了8082端口的代理模块,listen 参数为配置端口,location / 为代理地址前缀(为保证安全可移除),保存重启nginx 后, 浏览器访问 ip:8082 就能看到代理页面。

    listen 8082:代表监听 8082 端口
    server_name test:代表外网访问的域名
    location / {}:代表一个过滤器,/匹配所有请求,我们还可以根据自己的情况定义不同的过滤,比如对静态文件js、css、image制定专属过滤
    root html:代表站点根目录
    index index.html:代表默认主页

    在这里插入图片描述

  • 每个代理模块可以配置多个代理地址,如下图所示,代理前缀为event,代理地址为 http:127.0.0.1:8081/event,重启nginx服务后,浏览器打开 ip:8082/event 即可看到系统界面。

    location /{}:代表过滤器,用于制定不同请求的不同操作
    proxy_pass:代表后端服务器组名,此组名必须为后端服务器站点域名

    在这里插入图片描述

        server {listen       8082;server_name  test;location / {root   html;index  index.html index.htm;}location /event{proxy_pass http://127.0.0.1:8081/event;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_connect_timeout 4s;proxy_read_timeout 120s;proxy_send_timeout 12s;}}

ssl https 配置

  1. 配置 ssl 之前,先保证nginx 安装了ssl模块,详情在 nginx在centos7环境下安装。

  2. 生成证书

    • 确定是否安装 openssl

      which openssl
      # 或者
      openssl version
      
    • 如果没有安装,通过apt-get或者yum等方式安装即可

       sudo apt-get install openssl
      
    • 进入nginx 安装目录,创建key文件夹并进入

      cd /usr/local/nginx
      mkdir key
      cd key
      
    • 生成一个名为“ssl.key”的 RSA key文件:执行结果:生成ssl.pass.key 和 ssl.key

        openssl genrsa -des3 -passout pass:casia -out ssl.pass.key 2048openssl rsa -passin pass:casia -in ssl.pass.key -out casia-ssl.key
      

      在这里插入图片描述

    • 删除中间文件

      rm ssl.pass.key
      
    • 利用已经生成的 ssl.key 文件,进一步生成 ssl.csr 文件

      openssl req -new -key casia-ssl.key -out casia-ssl.csr
      

      在这里插入图片描述

    • 执行此行命令会提示输入密码,按回车即可,因为前面我们在生成 ssl.key 时选择了密码留空。 最后我们利用前面生成的 ssl.key 和 ssl.csr 文件来生成 ssl.crt 文件,也就是自签名的 SSL 证书文件:

      openssl x509 -req -days 3650 -in casia-ssl.csr -signkey casia-ssl.key -out casia-ssl.crt
      

      在这里插入图片描述

    • 这一步之后,我们得到一个自签名的 SSL 证书文件 ssl.crt,有效期为 3650 天。此时,ssl.csr 文件也已经不再被需要,可以删除掉了

      rm ssl.csr
      
    • 将.crt的ssl证书文件转换成.pem格式

      openssl x509 -in casia-ssl.crt -out casia-ssl.pem
      

      在这里插入图片描述

    • 删除 casia-ssl.crt casia-ssl.csr

      sudo rm -rf casia-ssl.crt casia-ssl.csr
      
    • 自此证书生成完毕,开始配置代理!

  3. 配置代理地址

    • 修改nginx配置文件

       cd /usr/local/nginxvim conf/nginx.conf
      
    • 增加server块,配置监听端口61231,注意端口后要加上 ssl。同时设置 ssl_certificate 参数值指向生成的 …/key/casia-ssl.pem 证书,设置 ssl_certificate_key 参数值指向生成的 …/key/casia-ssl.key 证书
      在这里插入图片描述

       server {listen       61231 ssl;server_name  localhost;ssl_certificate      ../key/casia-ssl.pem;ssl_certificate_key  ../key/casia-ssl.key;ssl_session_cache    shared:SSL:1m;ssl_session_timeout  5m;ssl_ciphers  HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers  on;client_max_body_size 500M;location / {root   html;index  index.html index.htm;proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}}
    - 保存重启nginx,浏览器访问 https://ip:61231 即可看到信息页面!
    

http://chatgpt.dhexx.cn/article/3DEBtwIj.shtml

相关文章

服务器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…

让 RadAsm + masm32 环境支持 Irvine32.lib

学习《汇编语言:基于X86处理器》这本书(或者该书更早版本)的朋友都知道,Irvine32.lib 是该书作者 Kip Irvine 为了汇编初学者而自行设计的一个链接库,它提供了在控制台下简单的输入输出接口。但作者在该书中使用的学习…

RA-Depth

一、论文贡献 1、提出了一种任意尺度的数据增强方法,以促进模型从具有不同尺度的图像中学习深度尺度。 2、开发了一种双高分辨率网络,具有多尺度特征融合,使用新的跨尺度深度一致性损失训练。 二、相关工作 三、方法 3.1参照monodepth2 …

DMA简介

为什么要有 DMA 技术? dma主要是用于读写数据用的 在没有 DMA 技术前,I/O 的过程是这样的: CPU 发出对应的指令给磁盘控制器,然后返回;磁盘控制器收到指令后,于是就开始准备数据,会把数据放入到磁盘控制…

利用RadASM 写汇编程序

本文介绍利用RedASM写一个messageBox “hello world”. RadAsm 是我用过最爽的一个汇编Ide了, 代码高亮,智能提示…… RadASM支持多种不同的汇编编译器,这里我们选择MASM.既然是IDE了,创建工程就很简单了, 文件->Win32 App(no …