nginx - Nginx 重定向到不需要的端口
问题描述
我正在尝试在我自己的 pi 服务器(测试站点)上托管 2 个不同的网站 - 一个静态非 wordpress 站点和一个 wordpress 子域站点。每当访问子域站点 test.mysite.co.uk 时,它会在不需要的端口 4323 上加载 test.mysite.co.uk:4323。但是,主 mysite.co.uk 站点可以正确加载。
最初,我一直在本地运行这些测试站点(在不同的端口上 - 端口 4321 上的主站点和 4323 上的子域),直到我决定使用真实域名部署它们。但是,您可能无法将 DNS 配置为指向特定的 IP 和端口(可能 DNS 记录仅指向 IP),因此我将两个域的 conf 文件都更改为侦听端口 80(显然您可以定义服务器名称告诉 nginx 加载哪个站点 - 称为虚拟主机?)。请注意,我有 mysite.co.uk 和 test.mysite.co.uk 的 DNS A 记录,它们都指向我路由器的同一个公共 IP 地址。
任何地方都没有对端口 4323 的引用,所以我很困惑为什么子域仍然坚持转发到该端口。我一直在 chrome 上使用隐身模式,所以应该没有缓存问题。我的路由器将外部端口 80 转发到内部端口 80,并且我已经多次重启了 nginx 服务器。我的 pi 本身的默认端口不再是 80。
这是 /etc/nginx/sites-available/mysite.co.uk.conf 文件:
server {
listen 80;
listen [::]:80;
root /var/www/mysite.co.uk;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name mysite.co.uk www.mysite.co.uk;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
这是 /etc/nginx/sites-available/test.mysite.co.uk.conf 文件:
upstream wp-php-handler {
server unix:/var/run/php/php7.4-fpm.sock;
}
server {
listen 80;
server_name test.mysite.co.uk;
root /var/www/wp.mysite.co.uk;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass wp-php-handler;
}
}
两个 .conf 文件也符号链接到它们各自启用站点的文件夹。
不确定这是否意味着除了在 Web 浏览器中加载 local_ip:80 (或没有 :80 假设它假定为 :80 )返回 Apache2 Ubuntu 默认页面。
根据这篇文章,我尝试添加port_in_redirect off
,autoindex on
但proxy_redirect http://test.mysite.co.uk:4323/ http://test.mysite.co.uk/
无济于事。
有没有人知道我做错了什么?
更新:
我设法创建了另一个测试非 wordpress 站点,它与第一个非 wordpress 站点完全相同,但称为 copy.mysite.co.uk,这似乎可以工作。我假设 wordpress 测试站点的问题可能与它的配置有关(尽管我在这里列出的代码看不到任何问题)?
解决方案
推荐阅读
- deep-learning - pytorch中如何共享两个模型的共同部分?
- javascript - 如何使用 javascript 隐藏 jinja 自动生成的表单?
- python - 为什么 GnuPG 解密速度这么低
- java - 无法找到请求目标的有效认证路径,想法
- java - Spring 外部资源
- azure - 收到电子邮件后创建 Azure 板卡
- c# - .NET Core 3.0 迁移错误 IAsyncEnumerable
System.Interactive.Async 和 System.Runtime 中都存在 - paypal - 减少 Paypal 结帐期间的重定向次数
- ionic-framework - 列表项过多导致延迟
- javascript - jQuery计算具有值的输入字段的数量