Я хотел бы установить веб-почту mail.
субдомен для каждого домена я имею на своем сервере, с помощью nginx.
Это, кажется, продолжает работать https://mail.mydomain.com
но я могу также получить доступ к веб-почте путем посещения IP-адреса сервера (https://x.x.x.x), который не требуется.
Вот мой conf файл для веб-почты:
###
# Webmail (Rainloop)
###
server {
listen 80;
server_name mail*.;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name mail*.;
ssl_certificate /etc/ssl/nginx/server.crt;
ssl_certificate_key /etc/ssl/nginx/server.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
access_log /var/log/nginx/app-webmail.access.log;
error_log /var/log/nginx/app-webmail.error.log;
location / {
root /var/www/rainloop;
index index.html index.htm index.php;
location ~ [^/]\.php(/|$) {
include fcgi.conf;
fastcgi_pass unix:/var/run/php-fcgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ^~ /data {
deny all;
}
}
}
Какая-либо идея?
На основе этого ответа Конфигурация Nginx по умолчанию была изменена следующим образом:
/etc/nginx/nginx.conf
server {
listen 80;
server_name <ip_address_nginx_server>;
root /usr/share/nginx/html;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html;
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
return 403;
}
server {
listen 80 default_server;
server_name mydomain.com;
}
}
После перезапуска сервера Nginx и перехода на ip_address_nginx_server
возвращается 403,а http://example.com
доступен.
Согласно документации Nginx, этот вид подстановочных знаков можно использовать в именах серверов .
server {
listen 80;
server_name mail.*;
...
}
Однако у вас есть mail *.
вместо mail. *
, что совсем другое дело.