如何重写具有子域端口的域?
e.q.:domain.com:3000
到 sub.domain.com
?
感谢您的帮助! :)
打招呼
最佳答案
如果您确实想重定向(301 或 302)您的网络流量
您创建一个监听端口 3000 的 server {}
部分,然后将其重定向到监听端口 80 的另一个 server {}
部分。在每个 server {}
部分适当设置 listen
属性。
我猜您正在尝试在单个 server
部分中并根据 this page 处理重定向。 listen
指令适用于 server
上下文
如果你想使用nginx作为代理
那么您要寻找的是 proxy_pass 指令。这是从配置中提取的示例配置,我必须使用 nginx 作为我的 Rails 应用程序(瘦)的代理。基本上我的应用程序在端口 3200 上本地运行(但它也可以在远程主机上运行),相关的 nginx 配置部分如下所示:
upstream my-app-cluster
{
server localhost:3200;
}
server
{
listen 80;
server_name mydomain.com;
root /root/to/public/folder;
access_log /my/app/log/folder/myapp.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://my-app-cluster;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
关于proxy - nginx - 重写domain.com :port to sub. domain.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471956/