Nginx设置包含多个域和https

时间:2018-05-07 12:46:40

标签: nginx https multiple-domains

我希望我的服务器可以有多个域和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'.

我不确定我的设置中的问题。 我的设置有什么问题? 谢谢!

0 个答案:

没有答案
相关问题