我正在尝试在我的 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服务为两个不同的网站提供服务?
答案 0 :(得分:0)
重定向问题归因于无效的SSL
证书。我正在尝试弄清楚如何使其有效。
因此,nginx
配置正常。