Add a wild card domain in danginx ( Directadmin Nginx )

By default  danginx won’t include the custom wild card domains. But you can create a vhost configuration as follows. Suppose if you need to create a wild card domain *.foo.com with user name “foo” and document root ” /home/foo/domains/foo.com/public_html and IP 10.0.0.10  ,  then

1)  Create a file name  /etc/danginx/foo.conf with the following content

########### Vhost configuration of   *foo.com
#################################################################
server {
access_log off;
error_log  logs/vhost-error_log warn;
listen [::]:80;
server_name  *.foo.com;
location ~* ^.+.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|iso|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|ogv|ogg|flv|swf|mpeg|mpg|mpeg4|mp4|avi|wmv|js|css)$ {
expires 24h;
root /home/foo/domains/foo.com/public_html;
error_page  404 = @apache;
access_log  /var/log/httpd/domains/foo.com.log;
log_not_found  off;
}
location ~ /\.ht {
deny all;
}

location / {
log_not_found  off;

client_max_body_size    1000m;
client_body_buffer_size 512k;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size    32k;
proxy_buffers     16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 60s;

proxy_redirect  http://*.foo.com:8888   http://*.foo.com;
proxy_pass   http://10.0.0.10:8888/;
proxy_set_header   Host   $host;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
}
location @apache {
internal;

client_max_body_size    1000m;
client_body_buffer_size 512k;
proxy_send_timeout   90;
proxy_read_timeout   90;
proxy_buffer_size    32k;
proxy_buffers     16 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_connect_timeout 60s;

proxy_redirect  http://*.foo.com:8888   http://*.foo.com;
proxy_pass   http://10.0.0.10:8888;
proxy_set_header   Host   $host;
proxy_set_header   X-Real-IP  $remote_addr;
proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
}
#include "/etc/danginx/custom/foo.com";
}

2)  Include this file in  /usr/local/nginx/conf/nginx.conf  as follows,

include "/etc/danginx/foo.conf";

3) Restart nginx