我已经安装了一个 nginx 服务器,我可以在 SSL 下成功运行三个不同的 php 应用程序,每个应用程序都映射到不同的子域。我想添加另一个,不同之处在于这是一个 React 应用程序,编译后的结果不多不少静止的html 网站。
以下是我为添加新子域名所执行的步骤:
- 向 DNS 添加一个新条目,以便子域指向我的服务器 ip;
- 为 nginx创建了一个新
sub.domain.conf
文件:
server
{
listen 80;
server_name sub.mydomain.com;
access_log /var/log/nginx/sub.mydomain.com.access.log;
error_log /var/log/nginx/sub.mydomain.com.error.log;
root /var/www/tmp/sub;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html?$is_args$args
}
}
- 我确保
/var/www/tmp/sub
由与 nginx 关联的用户拥有 - 由于 React 应用程序有自己的路由机制,nginx 应该始终传递域右侧的内容,这就是我尝试使用该
try_files
规则做的事情。
问题是,如果我尝试连接到子域,我要么得到301
状态响应,要么被重定向到 https 下的另一个子域,即使我暂时禁用了自动切换到 https。
我究竟做错了什么?