This article is in process of being transformed.
Please contact farmerswife support directly, to get the latest documentation; the following information is no longer up to date.
In this related article “How to SSL farmerswife using your own certificates” we provided information that you can use a
third party solution (with v6.5 "legacy"/deprecated "Proxy WIFE Server") to proxy the connection between your
internet facing farmerswife Server and the farmerswife clients to secure them by using your own SSL certificates.
You can also use solutions like F5, HAproxy, NGINX or the solution of your choice.
As an example we here provide a set of NGINX configuration files, which will use your subdomain and your already
configured ports exposed to the internet to point to your local fw Server host machine, by using strict SSL policies.
IMPORTANT: This example here is intended to be used by Linux IT administrators.
If you need support for the installation please contact sales for a quote.
An advantage of using NGINX or a third party solution is, that you can set which protocols to use and also which ciphers.
For example, you can set this up in a way to only allow TLS 1.2 and the newest TLS 1.3.
For this example explained here we allowed both TLS 1.2 and TLS 1.3 with a custom set of ciphers.
This example used a Debian 10 Buster server and NGINX version 1.14.2 with the stream module, which normally comes by default installing from Debian repositories.
The below rough diagram shows how this will work once your farmerswife system is proxied through NGINX:
On your new local e.g. Linux Ubuntu machine, located within your "DMZ":
First you will need to create the folder /etc/nginx/ssl if it doesn't exist and execute the following commands to generate the needed Diffie-Hellman key:
openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096
NOTE: this process may take several minutes time to finish (typically 20 to 30 min.)
DO NOT COPY & PASTE from here! What you see below is just an old example.
Please Request the latest "3 config files as a guide" directly from farmerswife support, which then contains a detailed "ReadMe.txt".
nginx.conf old example:
The following values are some of the ones you will need to modify within this "nginx.conf" file:
- user www-data: Change it to the user running the NGINX process. (Note: on latest Debian packages it's user changed to be www-data.)
Then you have to create the folder /etc/nginx/clients to add the two following files.
farmerswife-http.conf old example:
The following values are some of the ones you will need to modify within this "farmerswife-http.conf" file:
- server_name: change this on all fields and you need to match this to your sub-domain structure.
- listen: change this to point to the according farmerswife Server port.
- ssl_certificate: change this to point to your own "public" certificate.
- ssl_trusted_certificate: change this to point to your "trusted" certificate CA.
- ssl_certificate_key: change this to point to your "private" certificate key.
- upstream: point this to the correct private IP and port of the actual host machine of your farmerswife server's main "Server Port".
farmerswife-stream.conf old example:
The following values are some of the ones you will need to modify in this "farmerswife-stream.conf" file:
- listen: change this to point to the according farmerswife Server port.
- ssl_certificate: change this to point to your own "public" certificate.
- ssl_trusted_certificate: change this to point to your "trusted" certificate CA.
- ssl_certificate_key: change this to point to your "private" certificate key.
- proxy_pass: point this to the correct private IP and port of the actual host machine of your farmerswife server's main "Server Port".
UPDATE from 3. February 2021:
These config files as a guide are NO longer available here! Please request them directly from farmerswife support:
"Please send me the nginx.conf, farmerswife-http.conf and farmerswife-stream.conf files as a guide"
Once this is configured and running, this will need to be maintained from your side.