title: Safe public .NET Core API on you local PC
body: <p>I'm trying to create my own &quot;smart home&quot; system. To do this, I plan to buy some I/O modules with Modbus tcp/ip like this one -&gt;
  <a href="https://buy.advantech.eu/I-O-Devices-Communication/Remote-I-O-Modules-Ethernet-I-O-Modules/model-ADAM-6051-D.htm" rel="nofollow noreferrer">https://buy.advantech.eu/I-O-Devices-Communication/Remote-I-O-Modules-Ethernet-I-O-Modules/model-ADAM-6051-D.htm</a></p>
  <p>I will use that module to collect digital signals from windows contractors, blinders, data from HVAC, etc.</p>
  <p>Then, I will connect those modules to my PC (one of the low-energy-cost mini-PC available on the market) with Windows.</p>
  <p>PC will also collect data from cameras and other TCP/IP devices.</p>
  <p>Now the cherry on the pie - the API.</p>
  <p>I want to create the .NET Core API hosted on that PC (IIS probably, right?). The client for the API will be my mobile app (Xamarin).</p>
  <p>I know, maybe it's a little bit of over-engineering, but... I want to have something flexible, easily extensible, and resilient - in other words, I want to influence how it will look.</p>
  <p>Now the question: I feel pretty much confident with mobile development. I have also been working with .NET backend projects - but I have never had to configure the host environment, which will be my PC.</p>
  <p>To expose my API to the mobile app, I know that I should configure the firewall - but what else?</p>
  <p>What should I know to not let any intruder to my &quot;home&quot;?</p>
  <p>My main concerns are related to the host PC configuration - I would be grateful for any tips.</p>