Configuring Valid HTTPS for FNM Manager
FNM Manager runs on port 8081
, which prevents changing the port directly to enable HTTPS on the main server. To solve this, it is recommended to set up a reverse proxy with Nginx, allowing the service to be exposed on port 443
with a valid SSL certificate.
Prerequisites
-
Have Nginx installed on the server.
-
Own a domain or subdomain pointing to the server's IP.
-
Obtain a valid SSL certificate, such as using Let's Encrypt.
Installing Nginx
If you don't have Nginx installed, you can do so with the following command on Ubuntu-based system:
sudo apt update && sudo apt install nginx -y
Reverse Proxy Configuration
Edit or create a new configuration file at /etc/nginx/sites-available/fnm_manager
:
server {
listen 80;
server_name your-domain.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location /adminer {
proxy_pass https://127.0.0.1:8081/adminer/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /public {
proxy_pass https://127.0.0.1:8081/public/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
Activating the Configuration
- Create a symbolic link to enable the configuration:
sudo ln -s /etc/nginx/sites-available/fnm_manager /etc/nginx/sites-enabled/
- Verify the configuration:
sudo nginx -t
- Restart Nginx to apply the changes:
sudo systemctl restart nginx
Obtaining an SSL Certificate with Let's Encrypt
If you don't have an SSL certificate yet, you can generate one using Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
Certbot will automatically configure the SSL certificate in Nginx.
Conclusion
With this configuration, FNM Manager will be securely accessible via HTTPS at the following routes:
-
https://your-domain.com/adminer → FNM admin access.
-
https://your-domain.com/public → Customer access.
This ensures a secure connection without modifying the service's original 8081
port.