Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Recommendations for dotnet core reverse proxy

Recommendations for dotnet core reverse proxy

Scheduled Pinned Locked Moved The Lounge
csharpworkspaceasp-netapachewcf
17 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Peter Shaw

    My Entire production setup at www.digital-solutions.me.uk all uses Nginx Well Mostly... uses Nginx :-) First up I have a wildcard domain, so *.digital-solutions.me.uk will ALWAYS hit my public IP address same with my personal domain too. My Firewall has exactly ONE port forward on port 80 and that hit's a VM running on hyper-v, the VM is a linux server install, that runs only Nginx nothing else. In the config for Nginx I list all my subdomains as virtual servers, and then in those virtual servers I proxy the connection to other servers,desktops,IoT devices, containers and VM's some of which run dotnet core apps, some which run Apache, and some which serve classic .NET apps from an IIS instance. The first VM to be hit is responsible for routing to the correct destination machine, I find that Nginx works perfectly and it can handle traffic through put really well too. It's routes to Windows, Linux, Bsd all manner of target systems, even Solaris :-) Anything that's not in the Nginx config for the frontend VM just get's blackholed and a reply is never sent for it. Those VMs that DO run dotnet core services on them, I keep the services running using SupervisorD: [Supervisor: A Process Control System — Supervisor 4.1.0 documentation](http://supervisord.org/) Shawty

    Still Crazy.... Best and ONLY way to be.

    pkfoxP Offline
    pkfoxP Offline
    pkfox
    wrote on last edited by
    #7

    Thanks for this could I see your nginx.conf - I'm keen to learn this stuff

    "We can't stop here - this is bat country" - Hunter S Thompson - RIP

    P 1 Reply Last reply
    0
    • pkfoxP pkfox

      Thanks for this could I see your nginx.conf - I'm keen to learn this stuff

      "We can't stop here - this is bat country" - Hunter S Thompson - RIP

      P Offline
      P Offline
      Peter Shaw
      wrote on last edited by
      #8

      Yes sure, but for obvious reasons I'm not posting it publicly. Hunt me down on twitter I'm @shawty_ds We'll take it from there. I'm off to cook evening meal for the family right now, but I'll be back at my PC either in a few hours (Or tomorrow if I end up watching TV with the wife and drinking beer .... :-D ) You can also find me on gmail as "shawty.d.ds" Regards Shawty

      pkfoxP 1 Reply Last reply
      0
      • P Peter Shaw

        Yes sure, but for obvious reasons I'm not posting it publicly. Hunt me down on twitter I'm @shawty_ds We'll take it from there. I'm off to cook evening meal for the family right now, but I'll be back at my PC either in a few hours (Or tomorrow if I end up watching TV with the wife and drinking beer .... :-D ) You can also find me on gmail as "shawty.d.ds" Regards Shawty

        pkfoxP Offline
        pkfoxP Offline
        pkfox
        wrote on last edited by
        #9

        I don't use twitter have you an email address I can use ?

        "We can't stop here - this is bat country" - Hunter S Thompson - RIP

        P 2 Replies Last reply
        0
        • pkfoxP pkfox

          I don't use twitter have you an email address I can use ?

          "We can't stop here - this is bat country" - Hunter S Thompson - RIP

          P Offline
          P Offline
          Peter Shaw
          wrote on last edited by
          #10

          As I said in my last post :-) Im shawty.d.ds on gmail :-D

          1 Reply Last reply
          0
          • pkfoxP pkfox

            Hi all, in an effort to keep myself amused during this lockdown ( UK in my case ) I've been playing with building a NET Core webapi service, this is I've done. I have it running as a daemon on a Linux box on my LAN with NGInx setup as a reverse proxy. All is working ok. Am I doing this the correct way ? ( I'm not all that clued up with web stuff ) I thought a Web server such as Apache could be used to host the service not just as a reverse proxy but to host it entirely. What I'm trying to say is, when I've written WCF services to be hosted in a Windows environment in the past, I hosted them in IIS ( using WAS ) which took care of starting and stopping the whole caboodle, is this possible with Net core api services ( on Linux in this case ) ? As I say I'm not that clued up on the web side of things.

            "We can't stop here - this is bat country" - Hunter S Thompson - RIP

            S Offline
            S Offline
            scmtim
            wrote on last edited by
            #11

            If you are using WebHostBuilder with UseKestrel() you don't need NGinx. To make sure it starts automatically or restarts on a crash on most Linux systems you would use systemd. [Manage Kestrel process with systemd](https://kimsereyblog.blogspot.com/2018/05/manage-kestrel-process-with-systemd.html)

            P 1 Reply Last reply
            0
            • pkfoxP pkfox

              I don't use twitter have you an email address I can use ?

              "We can't stop here - this is bat country" - Hunter S Thompson - RIP

              P Offline
              P Offline
              Peter Shaw
              wrote on last edited by
              #12

              Didn't see an email from you yet.... just making sure shawty.d.ds at gmail

              pkfoxP 1 Reply Last reply
              0
              • S scmtim

                If you are using WebHostBuilder with UseKestrel() you don't need NGinx. To make sure it starts automatically or restarts on a crash on most Linux systems you would use systemd. [Manage Kestrel process with systemd](https://kimsereyblog.blogspot.com/2018/05/manage-kestrel-process-with-systemd.html)

                P Offline
                P Offline
                Peter Shaw
                wrote on last edited by
                #13

                That may be, but all the advice I've seen to date, even the official MS stuff, states that you should NEVER place a dotnet core app directly on a public facing IP as kestrel is not built to take the onslaught that more mature web servers are. It's always been best advice to proxy the inbound traffic to a dotnet core app, allowing you to take advantage of all sorts of things that kestrel doesn't do, such as virtual hosting and the many battle hardened security features these server apps have built into them.

                pkfoxP 1 Reply Last reply
                0
                • P Peter Shaw

                  Didn't see an email from you yet.... just making sure shawty.d.ds at gmail

                  pkfoxP Offline
                  pkfoxP Offline
                  pkfox
                  wrote on last edited by
                  #14

                  Hi Peter, that's not a valid email address Pete Kane

                  "We can't stop here - this is bat country" - Hunter S Thompson - RIP

                  1 Reply Last reply
                  0
                  • P Peter Shaw

                    That may be, but all the advice I've seen to date, even the official MS stuff, states that you should NEVER place a dotnet core app directly on a public facing IP as kestrel is not built to take the onslaught that more mature web servers are. It's always been best advice to proxy the inbound traffic to a dotnet core app, allowing you to take advantage of all sorts of things that kestrel doesn't do, such as virtual hosting and the many battle hardened security features these server apps have built into them.

                    pkfoxP Offline
                    pkfoxP Offline
                    pkfox
                    wrote on last edited by
                    #15

                    Hi Peter, thanks for the stuff you sent me although it's largely over my head :laugh: - did you see my question in the General Programming C# category regarding asking how to expose my locally hosted service to remote clients ?

                    "We can't stop here - this is bat country" - Hunter S Thompson - RIP

                    P 1 Reply Last reply
                    0
                    • pkfoxP pkfox

                      Hi Peter, thanks for the stuff you sent me although it's largely over my head :laugh: - did you see my question in the General Programming C# category regarding asking how to expose my locally hosted service to remote clients ?

                      "We can't stop here - this is bat country" - Hunter S Thompson - RIP

                      P Offline
                      P Offline
                      Peter Shaw
                      wrote on last edited by
                      #16

                      It's easy once you know how :-) RE: Question, nope... you wanna spin me a link? Shawty

                      pkfoxP 1 Reply Last reply
                      0
                      • P Peter Shaw

                        It's easy once you know how :-) RE: Question, nope... you wanna spin me a link? Shawty

                        pkfoxP Offline
                        pkfoxP Offline
                        pkfox
                        wrote on last edited by
                        #17

                        [My Question](https://www.codeproject.com/Messages/5715945/Access-WebApi-remotely-Cmon-guys-I-dont-believe-no.aspx) Edit n.b Nginx and the API service are on the same box I just worked it out, nginx is listening to port 80 on my API box then proxy passing to the API service - so I need to port forward an external port on my router to port 80 on my API box- I have and it works - thanks for your help - do you mind if I bombard you with net core questions ?

                        "We can't stop here - this is bat country" - Hunter S Thompson - RIP

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups