[GH-ISSUE #147] Support config for ngx_stream_ssl_preread module and ngx_stream_map module #127

Closed
opened 2026-02-26 06:30:28 +03:00 by kerem · 2 comments
Owner

Originally created by @KevinZhangt on GitHub (May 20, 2019).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/147

First, this is a very nice project. Thanks for the great work.

I have a same problem as https://stackoverflow.com/a/40135151/11378003 mentioned.
To sum up, I want nginx to listen at a single IP address and TCP port combination (e.g., listen 10.0.0.1:443), and then, depending on the characteristic of the domain name, route it to one of the multiple different port or IP addresses.

It seems like ngx_stream_ssl_preread module and ngx_stream_map module can solve the problem. In current version, Streams dashboard can't config host name.

I was wondering if it's possible come up in the feature ,thank you agin.

Originally created by @KevinZhangt on GitHub (May 20, 2019). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/147 First, this is a very nice project. Thanks for the great work. I have a same problem as https://stackoverflow.com/a/40135151/11378003 mentioned. To sum up, I want nginx to listen at a single IP address and TCP port combination (e.g., listen 10.0.0.1:443), and then, depending on the characteristic of the domain name, route it to one of the multiple different port or IP addresses. It seems like ngx_stream_ssl_preread module and ngx_stream_map module can solve the problem. In current version, _Streams_ dashboard can't config host name. I was wondering if it's possible come up in the feature ,thank you agin.
kerem 2026-02-26 06:30:28 +03:00
Author
Owner

@jc21 commented on GitHub (May 20, 2019):

The short answer is no. Not in this project anyway.

The long answer: since this is using SNI and requires SSL protocols, you'd be hijacking port 443 incoming for the entire application, which means that your "stream" would supersede all SSL configurations within this product. That's not practical and not what this project was designed for, or the goal it was set out to achieve.

The streams section of this project exists as a TCP proxy only, not intercepting packets of that traffic and inspecting them. I created it for my own personal use case and it's the least used part of the product.

<!-- gh-comment-id:494174399 --> @jc21 commented on GitHub (May 20, 2019): The short answer is no. Not in this project anyway. The long answer: since this is using SNI and requires SSL protocols, you'd be hijacking port 443 incoming for the entire application, which means that your "stream" would supersede all SSL configurations within this product. That's not practical and not what this project was designed for, or the goal it was set out to achieve. The streams section of this project exists as a TCP proxy only, not intercepting packets of that traffic and inspecting them. I created it for my own personal use case and it's the least used part of the product.
Author
Owner

@KevinZhangt commented on GitHub (May 26, 2019):

I understand ,thank you.

<!-- gh-comment-id:495984784 --> @KevinZhangt commented on GitHub (May 26, 2019): I understand ,thank you.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#127
No description provided.