站点映射到外网踩到的坑,跳转丢失端口

今天准备的线上演示版本,把端口映射到外网后,发现跳转不正确,丢失了端口。

环境:centos7+docker

方案尝试:

1、修改docker的端口映射,直接把nginx的端口改为外网的端口。改完之后,大部分连接好用,还有个别链接不好用。方案被pass。

2、我们的nginx的原来配置有这么一行:proxy_set_header Host             $host;

我查看了nginx的文档,有这么一段说明 :

如果不想改变请求头“Host”的值,可以这样来设置:

proxy_set_header Host       $http_host;

但是,如果客户端请求头中没有携带这个头部,那么传递到后端服务器的请求也不含这个头部。 这种情况下,更好的方式是使用 $host 变量——它的值在请求包含“Host”请求头时为“Host”字段的值,在请求未携带“Host”请求头时为虚拟主机的主域名:

proxy_set_header Host       $host;

此外,服务器名可以和后端服务器的端口一起传送:

proxy_set_header Host       $host:$proxy_port;

如果某个请求头的值为空,那么这个请求头将不会传送给后端服务器:

proxy_set_header Accept-Encoding "";

于是把这行配置改为: proxy_set_header Host       $http_host;

改完之后,没有发现丢失端口的情况。

使用方案2之后,暂时没有发现什么不良反应。

时间: 2024-10-16 11:06:50

站点映射到外网踩到的坑,跳转丢失端口的相关文章

如何简单使用ngrok,将网站内网映射到外网

由于最近实验室的需要,需要对每个网站制作demo版本进行展示(区分于正式版本),就准备使用ngrok进行内网映射到外网. Google一番后发现国外的ngrok.com没办法访问,苦苦寻找后发现了一个国内的站点:http://www.ngrok.cc/ 直接下载win 64位版本的. 下载解压后,文件夹中包含了ngrok.exe和ngrok.cfg两个文件 同时保证本地的服务器已经启动.如图本地我开启了tomcat服务器 18080端口. 这时我们通过cmd 到达下载好的ngrok目录.(如果直

如何将网页发布到IIs,并使用花生壳内网映射到外网。

今天做了一个网页,想发布到IIS上,结果提示未安装发布所需的扩展,Google了一下说是Vs安装有问题,要么重装要么修复,奈何时间不允许,本身网页也比较简单,一个Html页面+几个css和Js文件夹,索性在Vs里新建了一个网站,运行没问题后,打包发布网站. 而后在IIs管理器中添加网站 IIS怎么下载,怎么打开扩展功能,园子里很多了,不赘述,配置完成浏览看到正确页面,证明网站已经正式发布在IIS上了. 而后用花生壳添加对外网的映射. 内网Ip地址加IIs网站端口号映射到外网域名.(花生壳需要注册

2 微信开发本地代理环境的搭建--实现将内网ip映射到外网

微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本地代理环境把服务器地址变为外网能访问的地址: 这里,我对内网映射外网的方法进行了一下简单的总结: 1 ngrok映射工具(失效) 2 nodejs的localtunnel服务(虚拟域名,随机生成,总是变化,不方便) 3 www.tunnel.mobl(失效) 4 QQ浏览器微信调试工具(已下架) 5

把内网映射到外网的步骤教程

内网映射到外网的工具 ngrok可以将内网映射到公网,这样就可以访问本地的网络服务 用法: 打开自己电脑的cmd 一.ngrok 8080 本地Tomcat的端口号. 二.输入ngrok -config ngrok.cfg -subdomain example 8080(国内域名)(example  可以根据自己的变)[国内] 可以参考帮助文档 : http://www.tunnel.moi/ ngrok.cfg 官网文档上下载 放到 ngrok里面

完全控制映射到外网的内网web服务器

很多时候,我们可以获取到一个菜刀马,虽然能执行命令,但是上传文件却有种种限制,尤其对于映射到外网的web网站,windows系统,即使有最高权限,但是我个人认为远远没有一个3389的远程桌面来得爽,本篇文章主要讲述在有一个菜刀马的前提下的,如何突破内网映射到公网的主机,直接远程桌面连接内网的3389! 0x01   前言 我们获取到一个菜刀马之后,在权限范围内可以查看任意目录,执行任意命令,但是我们常常也会遇到各种各样坑,如有些文件我们上传不了,有些文件我们也下载不下来(可能是文件太大,也可能是

使用ngrok将本地Web服务映射到外网

为什么要使用ngrok? 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 服务器上有网站所需要的环境,否则自行搭建 将网站部署到服务器上 调试结束后,再将网站从服务器上删除 只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱╰(`□′)╯ 有了ngrok之后,世界是如此的美好 首先注册并下载ngrok,得到一串授权码 运行命令ngrok -authtoken 你的授权码 8

从外网访问局域网内的主机的方法(端口映射)

首先要做的事情如下: 1.确认你内网的路由器是否支持端口映射功能      2.如果你的路由器支持端口映射功能,在你本机安装远程控制软件      3.远程控制软件安装后,设置路由器,输入远程控制软件的端口和你本机ip,做端口映射      4.在你本机安装花生壳之类的动态域名软件      5.测试成功后,你在外网打开远程软件控制端,输入动态域名就可以访问你自己电脑了 端口映射(Port Mapping):      如果你是ADSL.MODEM或光纤等宽带接入用户,想在公司或单位内部建一个服

将内网映射到外网的工具

花生壳 ...  等等工具可以进行外网的映射 有过微信开发的人员应该使用过ngrok  但是因为一些原因.... 目前无法进行使用 可以替代的工具有: localtunnel.me  pagekite   nat123 同时可以使用国内的ngrok服务器www.tunnel.mobi localtunnel 的使用是比较简单的, 安装使用 npm    install  -g localtunnel 添加需要进行映射的端口  it  --port  XXXXXXX

将本地项目映射到外网(tomcat web项目)

1.首先如上图下载nat123软件,该软件可以免费内网映射. 2.根据上面图片,按要求填写即可:内网端口:自己web服务对应端口,内网地址:本机地址可以使默认localhost,内网ip,其余默认即可 3.启动服务,确保本地能够访问到服务,外网输入:外网域名+/项目名称. 4.成功在外网访问本地web服务. 参考:http://www.cnblogs.com/cheneasternsun/p/5075042.htm