Allow specific users from outside my intranet to access website - apache

I have an intranet website setup at my house. I'm running under XAMPP. Everything works fine. I'd like to give access to specific users in order for them to test the website (private testing) instead of making it available to the internet. Specifically, I want specific users to have private access to my intranet website and others would be denied access to that site.
I already configured port forwarding on my router. What would be the extra steps I'd need to take?

if the testers have static IPs you can configure ACLs on your router or even on your Server.
if there are dynamic IPs you can create openVPN to your tester's site and use DDNS as remote peer's IP.
hope that helps!

Related

How to generically proxy localhost to an authenticated remote backend?

Most articles or answers I find deal with proxying a localhost url to a localhost backend server on a different port, or to a non-authenticated remote server (no log in required). However, what I am unable to find is how to generically proxy requests to a remote server that requires authentication.
A common practice in web development is to create multiple instances of the app (beta/dev, integration/test, production, etc.) so you can test and deploy gradually before the code hits production. Each instances has it's own backend server and data that is typically accessible through public urls (e.g. beta.app.com/api).
The difficulty comes when the api requires user authentication to access. Setting up a typical proxy won't work as the credentials from localhost will be different from those of the remote server.
What I want to be able to do is be able to proxy all localhost api calls to one of the remote servers so I don't have to run a backend server locally, or be able to test local code against remote data (great for debugging prod only bugs). What I don't want to have to do is hardcode credentials to the remote server into the proxy, as that won't work for anyone else who runs the app locally (so no hardcoding proxy headers that add auth cookies, etc.).
I image the solution will require more than just a proxy to work, and that's fine. Assume I have full control of both the frontend and backend and can make any changes needed to make this work.

Internal/External Domain same name, having issues resolving webpage when typing https

So I inherited a domain for a client that has the same internal/external domain name (Server 2012r2). This caused a problem for users inside the domain trying to reach the external site.
After some research I decided to create an IIS redirect to the external website/IP, to enable people inside the domain to reach the external website. This worked just fine.
Basically did what is at this link: http://oddjobsintech.com/active-directory-tip-access-external-website-with-the-same-domain-name-as-your-internal-domain/
Basically, just created a www A record and installed IIS on domain controllers with HTTP redirect to the external site.
However, now they've acquired an SSL cert from GoDaddy, and I installed on the external webserver, which works perfectly fine outside of the domain. But once again, internally if you try to type "https:" the same issue with the page not resolving properly shows up.
Anybody know why this is and/or a possible fix (other than renaming the domain)?
An Domain Controller is the hearth from every Microsoft Active Directory environment and Microsoft did a lot to prevent the access to it like written here:
Domain controllers, by default, restrict the types of user accounts
that have the ability to log on locally. By default, only members of
the Account Operators, Administrators, Backup Operators, Print
Operators, and Server Operators groups have the Allowed logon locally
system right.
So you shouldn´t install an IIS on an domain controller. If the IIS will he hacked, the hacker has direct access to the whole domain!
According to your issue I would check the DNS environment if it is configured correctly.

How to access localhost via https with a valid certificate

We have a Web-Application that should interact with a desktop application that has a helper tool character (e.g. no setup, no need for admin privileges). The helper is listening via http/https on a simple port bound to localhost.
The Web-Application uses a SSL certificate. Every customer has a machine on its own for his data. For claryfication: The Web-Application is running on a server, serving one customer but multiple people.
The problem is, the Web-Application cannot reach the helper tool via https (using image or iframe). The main issue is, that the local webserver listening on localhost has no signed certificate. So the web browser is blocking the interaction.
Is there any way to get around this trouble? I think, I cannot get a certificate for localhost, because no one would sign it.
I know, that I cannot use XMLHttpRequest for this, but that's not the point.
The goal is to have a customer friendly - no install - just works - solution. The customer should not do ANY configuration. Just downloading and starting the tool. We'd like to have a direct communication to the tool (e.g. no outbound direction to the web server).
Is the any solution for this?
If it is Active-directory environment , you can create your own CA and sign certificates and distribute them across the domain. also you can add to trusted sites through domain policies this way client side you don't need to configure anything .

Intranet Extranet authentication

I have developed a php/mysql application which need to be accessed via both intranet and extranet. I want to give access to a certain page(add_company_details.php) to both intranet and extranet. How can I do that?
Basically I want to give the access to extranet only for some parts of the application. I have poor network knowledge. Do I need to give some ssl certificate or user/password authentication? Please help me. Thanks in advance. We use linux server with apache/php/mysql.
You can check the IP address of the client computer and enable or disable pages based on that.
Look at $_SERVER['REMOTE_ADDR']. If it's an address on your Intranet, enable or disable the page as appropriate. Similarly, you can enable or disable pages for Extranet visitors.
You will still need to authenticate your visitors. There's no specific need for an SSL certificate, but it's the only reliable way to guarantee the security of password exchanges.

how to deploy sharepoint site to internet so i can access my site from internet like eg. www.google.com

I am learning sharepoint server 2010 and now confuse how i can deploy sharepoint site to internet so i can access my site from internet like eg. www.google.com
In a nutshell, and at a basic level, you need to first ensure that you enable Anonymous Access for your web application. You'll then need to set up DNS for the domain you own to point to your web front end server (or virtual IP if it's load balanced). Then set up the appropraite IIS bindings for the web application, and finally you'll need to extend your web application to an Internet Zone and give it the appropriate domain name.
Not to give a sales pitch, because I just signed up with them but apps4rent has a pretty good deal and all I needed to do was follow their wizard and then go over to my GoDaddy domain account and make one tiny CNAME entry and I was good to go.
However, like JamesLove said, you will want to enable Anonymous Access as well.