nginx配置http转发https请求(http接口转发或者代理https接口)

2024-08-30 12:12

本文主要是介绍nginx配置http转发https请求(http接口转发或者代理https接口),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.需求场景

nginx中代理http的接口一搜一大把,但是利用nginx代理https开头的接口却是很少,大部分都是一些重定向操作,实际使用不了,经过很多次尝试终于解决,可以将https的接口代理到http中为前端提供服务;

2.nginx配置

2.1.代码

    server {listen       0.0.0.0:8080;server_name  localhost;# ...# 前端location / {root   /xxx/dist;try_files $uri $uri/ /index.html;index  index.html index.htm;}# 后端location /prod-api/ {proxy_pass http://127.0.0.1:8081/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}# 第三方https接口请求# 请求http://localhost:8080/3rd/api# 等于https://www.3rd.com/apilocation /3rd/ {proxy_pass https://www.3rd.com/;proxy_ssl_verify off;proxy_set_header Host www.3rd.com;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_redirect https://www.3rd.com/ /;}# ...
}

2.2.配置说明

配置项解释
www.3rd.com只是个示例域名,实际情况根据自己的需求改动
location /3rd/这表示该配置块将应用于以 /3rd/开头的所有请求
proxy_pass https://www.3rd.com/这告诉Nginx将匹配的请求代理到 https://www.3rd.com/
proxy_ssl_verify off表示Nginx在代理请求到上游服务器时不会验证SSL证书
proxy_set_header Host jiutian.10086.cn设置代理请求的 Host 头信息为 www.3rd.com
proxy_set_header X-Real-IP $remote_addr设置代理请求的 X-Real-IP 头信息为客户端的IP地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for设置代理请求的 X-Forwarded-For 头信息
proxy_set_header X-Forwarded-Proto $scheme设置代理请求的 X-Forwarded-Proto 头信息为原始请求的协议(http 或 https)
proxy_redirect https://www.3rd.com/ /修改上游服务器返回的 Location 头信,当上游服务器返回一个重定向响应时(例如301或302),proxy_redirect 会将 Location 头中的原始URL(https://www.3rd.com/)替换为相对路径(/)。这意味着如果上游服务器返回一个指向 https://www.3rd.com/somepath 的重定向,客户端实际上将被重定向到 /jiutian/somepath 而不是上游服务器的路径

这篇关于nginx配置http转发https请求(http接口转发或者代理https接口)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1120785

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。