Nginxredirect*:端口到子域

我正在与Nginx ,我想知道如何将具有特定端口的所有请求redirect到子域?

这是我的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:8080blog.mydomain.com:8080服务器服务应用程序运行端口8080,我想redirect所有这些请求到blog.mydomain.com没有:8080 blog.mydomain.com

我怎样才能做到这一点 ? 自动redirect到blog.mydomain.com如果我指定:8080的url?

我想你不太清楚它是如何工作的。

NGINX不是服务端口8080上的文件,而是在该端口上运行的应用程序。 如果要禁用端口8080服务文件,则应该将应用程序绑定到127.0.0.1:8080或使用防火墙来防止连接到它。

此外,由于你的configuration显示你的代理请求到你的IP(如果它已被编辑,我想它是你的公共地址),实现redirect到端口8080将导致redirect循环。