我正在工作Nginx
,我想知道如何将所有具有特定端口的请求重定向到子域?
这是我的default.conf
:
server{
listen 80 default_server;
server_name localhost;
location / {
root /usr/share/nginx/html;
}
}
server{
listen 80;
server_name blog.mydomain.com;
location / {
proxy_pass http://my-ip:8080;
}
}
因此,我有默认mydomain.com
服务 html 文件夹,以及一个子域名blog.mydomain.com
服务于运行端口 8080 的应用程序。
我的问题是当我尝试直接访问my-ip:8080
,或者mydomain.com:8080
服务器blog.mydomain.com:8080
为运行端口 8080 的应用程序提供服务时,我想将所有这些请求重定向到blog.mydomain.com
没有:8080
。
我该怎么做?blog.mydomain.com
如果我:8080
在 URL 中指定,是否会自动重定向到?
答案1
我认为您还不太了解它是如何工作的。
NGINX 不是在端口 8080 上提供文件服务的人,而是在该端口上运行的应用程序。如果要禁用端口 8080 提供文件服务,应将应用程序绑定到 127.0.0.1:8080 或使用防火墙阻止连接到该端口。
此外,由于您的配置显示您正在代理对您的 IP 的请求(如果它已被编辑,我想它是您的公共地址),在端口 8080 上实现重定向将导致重定向循环。