cherrypy.HTTPRedirect 使用绝对路径重定向到 IP 而不是主机名

2024-02-20

我在 nginx 后面运行 CherryPy 并需要处理重定向。在我的在 127.0.0.1:8080 上运行的开发机器上,这会正确重定向到 127.0.0.1:8080/login。

然而,当通过 nginx 在cherrypy.mydomain.com(端口80)上运行时,重定向仍然会转到127.0.0.1:8080/login,而不是cherrypy.mydomain.com/login。 127.0.0.1:8080 是应用程序的正确本地地址,但是 nginx 中的应用程序服务器设置为侦听端口 80 并将请求通过管道传输到 127.0.0.1:8080 上的本地cherrypy 服务器,但不应直接公开此地址。

我的应用程序中的相关行是:

授权失败:

raise cherrypy.HTTPRedirect("/login")

在我的控制器中:

cherrypy.config.update({
    'tools.encode.on': True, 'tools.encode.encoding': 'utf-8',
    'tools.decode.on': True,
    'tools.trailing_slash.on': True,
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 8080,
})

我想知道除了套接字主机之外,服务器/主机名是否还有一个额外的cherrypy配置项,但我很难在文档中找到它。

本质上,我需要的只是cherrypy 重定向到cherrypy.mydomain.com 主机名而不是内部IP。

Thanks!


Try 工具代理 http://cherrypy.readthedocs.org/en/latest/pkg/cherrypy.lib.html#cherrypy.lib.cptools.proxy配置设置:

'tools.proxy.on': True,

此外,您可能需要

'tools.proxy.local': 'X-Forwarded-Host',

设置为适当的标题。使用时NGINX,标题将是

'tools.proxy.local': 'Host',

的情况下Lighttpd这个标题将是合适的:

'tools.proxy.local': 'X-Host'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cherrypy.HTTPRedirect 使用绝对路径重定向到 IP 而不是主机名 的相关文章

随机推荐

  • 我们可以在postman中读取excel中的数据进行js测试吗?

    我们可以在postman中读取excel中的数据进行js测试吗 或者 我们可以编写一个从 excel csv notepad 读取数据的 js 脚本吗 我写了一些 js 脚本来自动化我的 API 测试 我正在使用 Newman 从命令提示符
  • C# 文件处理:在可执行文件存在的目录中创建文件

    我正在创建一个独立的应用程序 该应用程序将分发给许多用户 现在 每个人都可以将可执行文件放置在其计算机上的不同位置 我希望在执行可执行文件的目录中创建一个新文件 因此 如果用户的可执行文件位于 C exefile 该文件是在那里创建的 但是
  • 如何更改 Fluent NHibernate 中小数的默认比例和精度?

    在我正在构建的应用程序中 我有许多具有特定精度和小数位数的小数字段 需要从数据库进行映射 我可以通过使用来实现这一点Precision and Scale 方法 public class ClassAMap ClassMap
  • Unity UI 中图像模糊或像素化

    我有一个 211x211 的图像 其设置如下 在我的统一用户界面中 它看起来模糊 像素化 我的统一图像宽度高度设置为 40x40 我做错了什么 即使我尝试过 2048x2048 图像 但仍然得到相同的模糊效果 图像不清楚 这是我的游戏视图
  • JSoup 不会获取所有项目?

    因此 我尝试使用 JSoup 解析一个简单的列表 不幸的是 程序仅返回列表中以 N 开头的条目之前的条目 我不知道为什么会这样 这是我的代码 public ArrayList
  • 在 Python 中动态参数化多个测试

    我正在尝试使用 Pytest 编写动态测试套件 其中测试数据保存在单独的文件中 例如YAML 文件或 csv 我想运行多个测试 所有这些测试都是从同一个文件进行参数化的 假设我有一个测试文件test foo py 看起来像这样 import
  • 如何在 PRISM 中每次导航时创建新视图?

    我在我的新项目中使用 WPF4 和 PRISM4 有一个模块 其中有多个视图 DI 是统一完成的 当我第一次从 ViewA 导航到 ViewB 时 将创建 ViewB 并调用其构造函数 但是 当我尝试第二次 第三次导航到 ViewB 时 不
  • 如何有效更新两个结构体的值

    我有以下代码 用于解析 YAML 文件并需要匹配一个结构中的值external并更新internal结构体的type财产 例如 这是 yaml 文件 为简单起见 翻译为 bin 和正确解析的内容 package main import fm
  • 如何在Android中使用默认动画?

    我正在尝试使用带有片段的活动的默认动画 在这里我发现了一些关于它的信息 Android 对Fragment使用Activity的默认动画 https stackoverflow com questions 14376810 android
  • Mavericks 上的 MySQL 服务器启动问题

    我在 MacBook 上使用 MySQL 时遇到困难 我正在尝试使用以下命令启动我的服务器sudo mysqld safe这会产生以下输出 140131 00 03 02 mysqld safe Logging to usr local v
  • 不使用 eval/new 函数的 JavaScript 模板库

    Google Chrome 扩展程序使用manifest version 2被限制使用eval or new Function 我检查的所有 JavaScript 模板库 mustachejs underscorejs jQuery 模板
  • Laravel 覆盖命名路线并采取错误的路线

    我在我的routes php 文件中定义了这个 Route post gestionAdministrador array as gt Loguearse uses gt AdministradorController Login Rout
  • 谷歌应用引擎上的 psycopg2 出现问题

    当我尝试在我的谷歌应用程序引擎应用程序中实现框架 Pony ORM 时遇到问题 关键是 Pony 使用 psycopg2 PostgreSQL 适配器 当我尝试向数据库发出请求时 它会引发一个异常 它找不到 psycopg2 模块 在本地
  • data-sly-use、data-sly-resource、data-sly-include 和 data-sly-template 之间有什么区别?

    有什么区别 data sly use data sly resource data sly include and data sly template 我正在阅读文档Sightly AEM我非常困惑 据我所知 data sly use用于添
  • 为 STL 随机数生成器编写工厂方法

    我正在尝试通过配置文件提供一个界面 以便我的用户为他们正在使用的某些参数选择一个发行版 我想使用 STL 随机数生成器算法来实现此目的 假设我的程序从命令行读取 JSON 对于下面提供的 JSON 程序需要意识到它应该根据给定均值和标准差的
  • C# 是否有一个好的 leveldb 端口? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望在我的纯 C 项目中使用 leveldb 我在 google 上搜索了 leveldb 的 C 版本 但没有找到 谁能告诉我在哪里可
  • JAXB 按原样使用 String

    我使用 REST 我想知道是否可以告诉 jaxb 将字符串字段 按原样 插入到传出的 xml 中 当然 我想在返回之前将其拆开 但我想节省这一步 XmlRootElement name unnestedResponse public cla
  • 在 Three.js 继承模式中对原型使用扩展有什么好处?

    使用优秀的 Three js 框架 目前正在寻找良好的 javascript 继承模式 我了解了 Three js 中所做的事情 我现在对正在发生的事情有了很好的了解 除了一些 类 例如 Vector3 特别是 我不清楚为什么有些方法是直接
  • 如何在 svelte 中访问 websocket?

    我正在尝试将 svelte 连接到 fastapi 后端 但使用 svelte 套件时出现此错误 我明白了 WebSocket is not defined ReferenceError WebSocket is not defined e
  • cherrypy.HTTPRedirect 使用绝对路径重定向到 IP 而不是主机名

    我在 nginx 后面运行 CherryPy 并需要处理重定向 在我的在 127 0 0 1 8080 上运行的开发机器上 这会正确重定向到 127 0 0 1 8080 login 然而 当通过 nginx 在cherrypy mydom