Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口

本文有V型知识库提供

upstream tomcat {
    server 127.0.0.1:82;
}

location / {
     proxy_pass http://tomcat;
}

如上配置,反向代理后,使用http://test.xxx.com/访问,但是页面中的链接变成了:
http://tomcat:82/xxxx.html

请问大家,这个要如何配置,才能让页面里面的链接地址为http://test.xxx.com/xxxx.html

解决办法:

location /{

proxy_pass http://tomcat; 
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://www.cnblogs.com/zhaogaojian/p/9385985.html

时间: 2024-10-15 03:55:24

Nginx 配置反向代理后,页面中取绝对URL地址的问题显示代理端口的相关文章

nginx 配置web 虚拟目录 并且codeIgniter,thinkphp 重新url 地址

nginx 配置虚拟目录并且url 重写 server { #侦听80端口 listen 8090; #定义使用www.xx.com访问 server_name 127.0.0.1; #设定本虚拟主机的访问日志 access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /home/lxy/www/cs/; #定义服务器的默认网站根目录位置 #默认请求 location / { index inde

nginx配置反向代理概述

一.nginx反向代理:Web服务器的调度器 1.反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的web服务器(可能是apache.nginx.tomcat.iis等),并将从web服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器. 图上可以看出:反向代理服务器代理网站Web服务器接收Http请求,对请求进行转发.而且nginx作为反向代理服务器可以根据用户请求的内容把请求转发给后端不同的web服务器,例如静

CentOS 7 安装 Nginx 配置反向代理

Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Nginx时,需要添加Nginx软件包,使用以下命名,添加安装 sudo yum install yum-utils 设置Yum存储库,请创建/etc/yum.repos.d/nginx.repo配置文件,配置内容如下 [nginx-stable] name=nginx stable repo baseu

关于Nginx配置Https server后,乱跳的问题解决记录

大部分的服务器上,我们会在一个Nginx服务下配置多个vhost,以最大化运用服务器资源.然而,为其中一个vhost域名启用 HTTPS 之后,发现百度统计的实时访客或入口页中,存在一些来自其它域名的请求.即通过 https://some-other-domain.com/some-url 来访问对应的 https://www.domain.com/some-url 结果就是 Google 浏览器显示了一个安全警告页面,认为这是一个不安全的网页.因为我只配置了 www.domain.com 的

nginx配置反向代理或跳转出现400问题处理记录

午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上服务器进行测试查看,打开nginx与ugwsi日志与配置,发现后端服务日志记录正常,而测试站点的访问日志有7百多M(才运行两三天没几个访问,几M的话才是正常现象),在浏览器里直接访问后端服务接口也正常没有问题(我们的服务器软件架构是微服务架构,将很多模块分拆后分别部署,前端是一个纯HTML站点,通过

nginx配置反向代理支持session

Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意:今天遇到了这样一个问题,tomcat中路径"host/web1",nginx中直接"host/"代理,这时候session就无法正常进行了. 问题描述: 登录后. 跳转http://127.0.0.1:8080/api/index.do 可以正常访问 nginx 反向代理 proxy_pass  http://192.168.1.12:8080/api/ 登录之后跳转   http://api.

Nginx 配置反向代理和负载均衡

反向代理 客户端 A 出于某种原因(如 GFW)无法访问服务器 B,但它能访问服务器 C,服务器 C 能访问服务器 A,那么客户端 A 可通过服务器 C 来访问服务器 B.此时服务器 C 就是一个代理服务器(即正向代理). 首先将请求发送到服务器 C,服务器 C 将请求转发到服务器 B 并接收服务器 B 返回的响应,最后将响应返回给客户端 A. 客户端 A 请求某项服务器 B 上没有的资源,但服务器 C 上有此资源,服务器 B 请求服务器 C 上的资源,并将它返回给客户端 A.此时服务器 B 即

Nginx配置反向代理服务器

首先,在阅读<深入理解Nginx模块>后,大体了解了配置反向代理服务器一些常见的配置.如下进行说明:" l  Nginx worker进程个数 语法: worker_processes number; 默认: worker_processes 1; 在master/worker运行方式下, 定义worker进程的个数. worker进程的数量会直接影响性能. 那么, 用户配置多少个worker进程才好呢? 这实际上与业务需求有关. 每个worker进程都是单线程的进程, 它们会调用各

go 语言的库文件放在哪里?如何通过nginx代理后还能正确获取远程地址

/usr/local/Cellar/go/1.5.1/libexec/src/ 他的RemoteAddr 是从哪里获取? func (c *conn) RemoteAddr() Addr { if !c.ok() { return nil } return c.fd.raddr } 使用远程地址的被nginx代理后获取不正确,都为127.0.0.1,解决方案需要配置nginx server { listen 80; server_name localhost; location /{ root