Submitted by dfrm on Thu, 01/18/2018 - 08:29
Hello,
I am trying to set up alias for my domains the thing is:
Main domain: domain.eu -> root for this is home/domain/
Aliases: domain.de, domain.fr
Nginx config of aliases:
server {
server_name domain.de www.domain.de;
listen xxx.xxx.xxx.xxx;
root /home/domain/public_html;
index index.html index.htm index.php;
access_log /var/log/virtualmin/domain.de_access_log;
error_log /var/log/virtualmin/domain.de_error_log;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME /home/domain/public_html$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT /home/domain/public_html;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS $https;
location ~ \.php$ {
try_files $uri =404;
#fastcgi_pass unix:/var/php-nginx/15161112352697.sock/socket;
fastcgi_pass unix:/var/php-nginx/14892222483561.sock/socket; -> this is same as defined in domain.eu
}
listen 93.170.77.172:443 ssl;
ssl_certificate /home/domain.de/ssl.cert;
ssl_certificate_key /home/domain.de/ssl.key;
}
I want to know if it is good solution or if there is any other way to do this
Status:
Active
Files:
Comments
Submitted by dfrm on Thu, 01/18/2018 - 09:43 Comment #1
Ok I gave up on this solution. I added it as an alias. But I have problem with ssl redirect. I have this rule in the config:
server_name prohormones.eu www.prohormones.eu prohormones.hu www.prohormones.hu;
listen 93.170.77.42;
if ($scheme != "https") {
rewrite ^ https://prohormones.eu$uri permanent;
}
How can I change .eu to the current server????
Submitted by dfrm on Thu, 01/18/2018 - 10:50 Comment #2
I got it working with this but I need to remove www. From $host
if ($scheme != "https") {
rewrite ^ https://$host$uri permanent;
}
Submitted by Kintaro on Thu, 01/25/2018 - 02:29 Comment #3
Have you tried to set to YES this:
Webmin=>Servers=>Virtualmin Virtual Servers=> SSL Settings=>Redirect HTTP to HTTPS by default?
instead of put a redirect inside every vhost configuration?
Submitted by ichi on Fri, 01/31/2020 - 14:39 Comment #4
Hello the Domain alias created w/ Virtualmin gives a 404 Not Found on nginx/1.14.2 I did give a Yes to Webmin=>Servers=>Virtualmin Virtual Servers=> SSL Settings=>Redirect HTTP to HTTPS by default. But still Alias domain gives a 404… ;-( Any idea ? Thanks.
This will only be applied to the newly created virtual servers (domains).
You can manually create redirect at Server Configuration/Website Redirects. You can have a look at the screenshot to check an example of how it's done.
Submitted by ichi on Sat, 02/01/2020 - 16:32 Comment #6
Hello Ilia, Thank you for your message and your concern.
So, yes I found a "Server Configuration/Website Redirects" but only for the main Server (with a tutorial https://www.virtualmin.com/documentation/tutorial/how-to-manage-url-redi...), but there is not such a setting for the Alias Server. I must indicate that the Alias Server had been created as an Alias of the main Server. I used to do that frequently in Virtualmin but in the Apache setting. That was done easily from the drop-down box on the top-left. As I moved the server from Apache to Nginx I encountered this issue. In the /etc/nginx/sites-available/MAIN-DOMAIN.conf there is the indication of the Alias Server :
server_name MAIN-DOMAIN www.MAIN-DOMAIN ALIAS-DOMAIN www.ALIAS-DOMAIN;
Looking further I found that the access to http://ALIAS-DOMAIN/ gives a 404 error. Then the https://ALIAS-DOMAIN gives a warning because it uses a certificate that is not valid for ALIAS-DOMAIN. The certificate is only valid for MAIN-DOMAIN.
That might means that the issue is the refusal of the setting of the ALIAS-DOMAIN by certbot :
sudo sudo certbot certonly --nginx
givesDomain: ALIAS-DOMAIN
Type: unauthorized
Detail: Invalid response from
http://ALIAS-DOMAIN/.well-known/acme-challenge/FID_mOHlU20mNQ5T1UBxTYcLe6EZgGL7yoPo
[DOMAIN-IP]: "<html>\r\n<head><title>404 Not
Found</title></head>\r\n<body bgcolor="white">\r\n<center><h1>404
Not Found</h1></center>\r\n<hr><center>"
So the issue is more pinpointed in the https setting.
EDIT : I found the reason and the solution of the issue. After using certbot certificate installation, there is a change made in the /etc/nginx/sites-available/MAIN-DOMAIN.conf Then after adding the ALIAS-DOMAIN via Webmin, certbot cannot add the change in the MAIN-DOMAIN.conf. The solution was to add manually in the MAIN-DOMAIN.conf :
if ($host = ALIAS-DOMAIN) {
return 301 https://$host$request_uri;
} # managed by Certbot
Then certbot certificate renewal can be run for both MAIN-DOMAIN and ALIAS-DOMAIN. SOLVED