Appearance
HestiaCP Reverse proxy website
Add a new domian (website) you want to use for website or subscription address.
Edit the domain and Enable SSL for the domain
Select Use Let's Encrypt to obtain SSL certificate
Click on Advance option and Backend Template PHP-FPM select PHP-8_1
Click On SAVE to get certificate
Add a reverse proxy
Now login VPS with any FTP software like WinSCP
Edit your domain nginx ssl conf
/home/user/conf/web/domain.com/nginx.ssl.conf
Add this to your config. Replace www.xmplus.dev with your main website you install XMPlus on address
location ^~ / {
proxy_ssl_server_name on;
#proxy_ssl_protocols TLSv1.3;
proxy_pass https://www.xmplus.dev; #Authorize domain website
proxy_set_header Host www.xmplus.dev; #Authorize domain
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1;
proxy_hide_header Upgrade;
#add_header X-Cache $upstream_cache_status;
}
Delete below lines
location / {
proxy_pass https://172.26.7.119:8443;
location ~* ^.+\.(css|htm|html|js|json|xml|apng|avif|bmp|cur|gif|ico|jfif|jpg|jpeg|pjp|pjpeg|png|svg|tif|tiff|webp|aac|caf|flac|m4a|midi|mp3|ogg|opus|wav|3gp|av1|avi|m4v|mkv|mov|mpg|mpeg|mp4|mp4v|webm|otf|ttf|woff|woff2|doc|docx|odf|odp|ods|odt|pdf|ppt|pptx|rtf|txt|xls|xlsx|7z|bz2|gz|rar|tar|tgz|zip|apk|appx|bin|dmg|exe|img|iso|jar|msi)$ {
try_files $uri @fallback;
root /home/user/web/domain.com/public_html;
access_log /var/log/apache2/domains/domain.com.log combined;
access_log /var/log/apache2/domains/domain.com.bytes bytes;
expires max;
}
}
location @fallback {
proxy_pass https://172.26.7.119:8443;
}
Full reverse proxy config
/home/user/conf/web/sub.xmplus.dev/nginx.ssl.conf
server {
listen 8.8.8.8:443 ssl;
server_name sub.xmplus.dev ;
error_log /var/log/apache2/domains/tld.com.error.log error;
ssl_certificate /home/user/conf/web/sub.xmplus.dev/ssl/sub.xmplus.dev.pem;
ssl_certificate_key /home/user/conf/web/sub.xmplus.dev/ssl/sub.xmplus.dev.key;
ssl_stapling on;
ssl_stapling_verify on;
# TLS 1.3 0-RTT anti-replay
if ($anti_replay = 307) { return 307 https://$host$request_uri; }
if ($anti_replay = 425) { return 425; }
include /home/user/conf/web/sub.xmplus.dev/nginx.hsts.conf*;
location ~ /\.(?!well-known\/|file) {
deny all;
return 404;
}
location ^~ / {
proxy_ssl_server_name on;
#proxy_ssl_protocols TLSv1.3;
proxy_pass https://www.xmplus.dev; #Authorize domain website
proxy_set_header Host www.xmplus.dev; #Authorize domain
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_http_version 1.1;
proxy_hide_header Upgrade;
#add_header X-Cache $upstream_cache_status;
}
location /error/ {
alias /home/user/web/tld.com/document_errors/;
}
proxy_hide_header Upgrade;
include /home/user/conf/web/tld.com/nginx.ssl.conf_*;
}
Save and restart nginx
systemctl restart nginx
To set it as SubUrl address, edit your XMPlus config in /home/user/web/domain.com/public_html/config/config.php
# Subscription address; without http:// or https://
$_ENV['SubUrl'] = "sub.xmplus.dev";