NextPVR Forums

Full Version: Advice on configuring Nginx reverse proxy
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Has anyone successfully configured an Nginx reverse proxy in front of the NextPVR web interface? Would you be willing to share your configuration? I'd even take a successful Apache config.

I have configured Nginx reverse proxies in front of many web services - even difficult ones. For the life of me, I can't get this to work.
I have created an Nginx proxy reverse proxy configuration that partially works. I am able to login and browse around. Everything in the modern theme works. However, the admin pages accessed through admin.aspx and admin2.aspx are essentially non-functional.

What I've determined is the web server is sending an unsolicited "HTTP 100 Continue" response back to the proxy and that results in the POST data not finishing.

I am not up on ASP server operations, but this page seems to hint at the right direction: http://www.fallingcanbedeadly.com/posts/...cy-and-you

It also appears that this is not something that can be fixed or handled at the proxy: https://forum.nginx.org/read.php?2,241130,241139

Security is my primary motivation for running a proxy. I would like to implement GeoIP controls as well as HTTPS encrypted transport.
I now have a partially working Nginx reverse proxy config. I am able to log in and browse around and even stream in the modern interface. However, if I need to jump into the classic interface through admin.aspx or admin2.aspx, interactions with the interface elements fail.

I have determined that the failure is caused by the NextPVR web server responding to a POST request with a "HTTP 100 Continue" response. Nginx just quits the communication because it was not expecting a 100 response and doesn't know what to do next. It seems from my research that it is an unnecessary and inappropriate response when the client does not initiate it with an Expect header. However, it is the default way of operating for ASP application servers.

I am not familiar with ASP development, but it seems there is a way to disable 100 Continue responses. I have attempted to disable the response myself with no success. If we can disable this HTTP 100 response, I believe a fully functional Nginx reverse proxy is within reach. This is important to me because I want to encrypt communication as well as perform GeoIP blocking.

Searching for the terms below will result in the source pages where I learned this information. I had posted this once before with links, but it got lost in the moderation queue.

"Backend responding with 100 Continue results in the actual response being lost"
"HTTP 100 Continue, Latency, and You"
Unfortunately I've got very little control over how the old classic web app behaves in this regard. I'm only really able to control this stuff with the modern app.
I just noticed your post #2 was marked as requiring moderation - sorry, didn't notice it was in that state when I'd read the post originally. I've marked it approved, so you should see it now.
Some of my research indicates it's something that can be set globally on the server. Since it's not actually running IIS, I haven't been able to figure it out. I'm guessing it has to go in the code somewhere.

What web server is being used exactly?
It's actually just using System.Web.Hosting, which is web hosting components built into .NET. Depending on what you need to enable, it might be possible to set it in C:\Users\Public\NPVR\web\web.config. These are standard web config files used by IIS etc.