Results 1 to 7 of 7

Thread: Advice on configuring Nginx reverse proxy

  1. #1
    Join Date
    Jun 2018
    Location
    Minnesota, USA
    Posts
    7

    Advice on configuring Nginx reverse proxy

    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.

  2. #2
    Join Date
    Jun 2018
    Location
    Minnesota, USA
    Posts
    7
    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/po...atency-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.

  3. #3
    Join Date
    Jun 2018
    Location
    Minnesota, USA
    Posts
    7
    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"
    Last edited by jroos; 2018-07-12 at 05:00 PM.

  4. #4
    Join Date
    Nov 2003
    Location
    NextPVR HQ, Wellington, New Zealand
    Posts
    86,634
    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.

  5. #5
    Join Date
    Nov 2003
    Location
    NextPVR HQ, Wellington, New Zealand
    Posts
    86,634
    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.

  6. #6
    Join Date
    Jun 2018
    Location
    Minnesota, USA
    Posts
    7
    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?

  7. #7
    Join Date
    Nov 2003
    Location
    NextPVR HQ, Wellington, New Zealand
    Posts
    86,634
    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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •