我有两个网站在我的服务器上运行,一个Wordpress网站和一个运行在端口8080上的networking应用程序。我想将mysite.com和www.mysite.com指向WordPress的网站和app.mysite.com以指向web应用程序使用NGINX。
我已经做了2个独立的configuration,如下所示 –
mysite.com
server { listen 443 ssl; server_name www.mysite.com mysite.com; < ssl configs > include global/restrictions.conf; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } } server { listen 80; server_name mysite.com www.mysite.com; return 301 https://$host$request_uri; }
app.mysite.com
server { listen 443 ssl; server_name app.mysite.com; < ssl configs > location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Forwarder-For $remote_addr; } location /stream/ { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location ~ /.well-known { allow all; } } server { listen 80; server_name app.mysite.com; return 301 https://$host$request_uri; }
但是当我尝试访问app.mysite.com时,它被redirect到mysite.com。 我该如何解决?
谢谢!
我build议你使用返回301 https:// $ server_name $ request_uri;
在返回的地方301 https:// $ host $ request_uri;
因为$ host将包含所有服务器名称并将所有内容redirect到相同的主机。
我的错。 错误是非常愚蠢的。 我为webapp创build的符号链接是错误的,所以实际上只有主网站的configuration。