我可以在应用程序代码中告诉应用程序是在我服务器的哪个最外层端口上被访问的吗?

Can I tell within application code, on what outermost port of my server the app is accessed?

我正试图以我真正想要回答的问题开始。我想要 URL 外部用户可以访问我的应用程序的特定部分。

在我的服务器设置中,我们使用 Nginx 作为反向代理,所以我的应用程序配置在端口 9000。但我不能将用户指向这里,因为他们无法访问该端口。用户可以访问端口 8080。但这是我的系统配置的一部分,可以(我认为)更改。它也确实从开发到登台再到生产。所以,如果可能的话,我想避免 hard-coding 这种情况。

那么我的问题是,我能否以某种方式动态地告诉 "outermost" 端口接收到传入请求?可能通过从 Nginx 向下传递一个 header?我正在考虑 X-Forwarded-For,除了我想知道 URL 客户端联系我(服务器),而不是客户端联系服务器的 IP 地址。这可能吗?

$server_port 变量保存客户端连接的端口。