在同一ubuntu服务器上为具有相同Nginx的两个网站提供服务重定向到同一网站

时间:2019-04-19 12:16:23

标签: node.js ubuntu nginx

我正在尝试在我的 Ubuntu 16.04 服务器上提供两个不同的网站。

这是/etc/nginx/sites-available/website1.com中的网站1 配置:

server {
        listen 80;
        listen [::]:80;

        server_name website1.com www.website1.com;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;

        server_name website1.com www.website1.com;
        ssl_certificate /etc/nginx/ssl/website1.com.domain.crt;
        ssl_certificate_key /etc/nginx/ssl/website1.com.intermediate.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        location / {
                proxy_pass https://127.0.0.1:1337;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

这是/etc/nginx/sites-available/website2.com中的网站2 配置:

server {
        listen 80;
        listen [::]:80;

        server_name website2.com www.website2.com;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;

        server_name website2.com www.website2.com;
        ssl_certificate /etc/nginx/ssl/website2.com.domain.crt;
        ssl_certificate_key /etc/nginx/ssl/website2.com.intermediate.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        location / {
                proxy_pass https://127.0.0.1:5000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

我要与nginx一起使用的这两个网站是两个nodejs应用程序。一种是在端口1337 website1 )上侦听,另一种是在端口5000 website2 )上侦听。

如果我访问网址https://website1.com,则访问正确的网站 website1

如果我访问错误的网站https://website2.com,则显示为 website1 ,而不是 website2 。 (顶部栏中的网址是http://website2.com,并带有SSL的警告)。

如何在同一台 Ubuntu 服务器上使用相同的Nginx服务为两个不同的网站提供服务?

1 个答案:

答案 0 :(得分:0)

重定向问题归因于无效的SSL证书。我正在尝试弄清楚如何使其有效。

因此,nginx配置正常。