Я хочу, чтобы мой сервер мог иметь несколько доменов и https.
Таким образом, у меня было два сервера для прослушивания 80 портов и перенаправления на 443.
Это мои настройки
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name example2.com;
root /var/www/html/example2;
index index.html index.htm index.php;
return 301 https://example2.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/example2.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example2.com/privkey.pem;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
root /var/www/html/example2;
index index.html index.htm index.nginx-debian.html;
server_name example2.com;
location / {
try_files $uri $uri/ =404;
}
}
Но после перезапуска службы nginx показывало сообщение об ошибке.
Это сообщение об ошибке «systemctl status nginx.service».
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since 一 2018-05-07 20:55:52 CST; 44s ago
Process: 14870 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
Process: 13955 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 14874 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Main PID: 13956 (code=exited, status=0/SUCCESS)
5月 07 20:55:52 my-server systemd[1]: Starting A high performance web server and a reverse proxy server...
5月 07 20:55:52 my-server nginx[14874]: nginx: [emerg] a duplicate default server for [::]:443 in /etc/nginx/sites-enabled/default:120
5月 07 20:55:52 my-server nginx[14874]: nginx: configuration file /etc/nginx/nginx.conf test failed
5月 07 20:55:52 my-server systemd[1]: nginx.service: Control process exited, code=exited status=1
5月 07 20:55:52 ailab-server systemd[1]: Failed to start A high performance web server and a reverse proxy server.
5月 07 20:55:52 my-server systemd[1]: nginx.service: Unit entered failed state.
5月 07 20:55:52 my-server systemd[1]: nginx.service: Failed with result 'exit-code'.
Я не был уверен, что проблема в моих настройках.
Что не так с моей настройкой?
Спасибо!