【问题标题】:Mod mono serves different web application instance over SSHMod mono 通过 SSH 服务于不同的 Web 应用程序实例
【发布时间】:2012-11-05 22:27:11
【问题描述】:

当我通过 url 访问它时,我有一个在最新的 Mod mono 上运行的 asp.net 应用程序

1. http://myServer.com/App 

2. http://localhost:81/App

每个地址都有不同的实例。我怎么知道有什么不同?通过检查实际触发两次的 Application_Start 和具有不同值的 asp.net 应用程序变量。

仅当我想通过 SSH 连接到我的服务器时,我才使用第二个地址,并且我使用本地端口转发,以便从我的计算机在端口 81 上发送的每个请求实际上都转发到我服务器上的端口 80。

两个地址都指向同一个物理位置,我不明白为什么每个地址后面实际上有两个不同的实例?

谢谢

编辑

具体例子:

这就是我在 Global.asax.cs 中存储应用程序启动事件时间的方式

    public static string AppStartTime;

    protected void Application_Start(object sender, EventArgs e)
    {
        AppStartTime = DateTime.Now.ToString();
    }

这是用于远程端口转发到远程 Apache 服务器的 plink.exe 的参数:

    -L :7787:localhost:80

如果我用 3 个不同的端口使用 plink 3 次,当我通过不同的 url 访问同一个 Web 应用程序时,会显示 3 个不同的时间值。

    http://localhost:7787/ => value of AppStartTime = time1

    http://localhost:7788/ => value of AppStartTime = time2

    http://localhost:7789/ => value of AppStartTime = time3

【问题讨论】:

  • Mono 2.6.7 是古老的。请升级到 2.10.x 或 3.0
  • 我们将其升级为 mono 2.11.4、mod_mono 2.10。但我仍然有理智的问题。

标签: asp.net apache ssh mono application-pool


【解决方案1】:

此问题涉及 Web 服务器配置问题,与 Mono 无关。似乎您在 Apache 中配置了两个虚拟服务器/网站,而不是具有两个不同绑定的单个虚拟服务器。

更改您的配置,以便您拥有一个设置了两个绑定的虚拟服务器,并且您将在内存中拥有一个实例。

【讨论】:

  • 实际上它不是 myServer 而是我公司的服务器。但我可以访问 apache/mono 配置的所有方面。但我不明白。为什么仅在通过 SSH 访问时才提供不同的实例。那是安全问题吗?访问它的所有其他变体都给了我实例 1。只有通过 SSH 访问才能给我实例 2。??
  • 你解决过这个问题吗?我正在处理类似的配置问题stackoverflow.com/questions/13480328
  • 嗨,很遗憾没有。这是非常少量的数据,不常被访问,所以我改变了我的架构,改为使用文件存储。
猜你喜欢
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-27
  • 1970-01-01
  • 1970-01-01
  • 2018-12-16
相关资源
最近更新 更多