Настройка Nginx с несколькими доменами и https - PullRequest
0 голосов
/ 07 мая 2018

Я хочу, чтобы мой сервер мог иметь несколько доменов и 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'.

Я не был уверен, что проблема в моих настройках. Что не так с моей настройкой? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...