我想将 ip:port 请求重定向到特定子域,如下所示:
xxx.xxx.xxx.xxx:8080 > app1.nilux.eu
xxx.xxx.xxx.xxx:8099 > app2.nilux.eu
编辑 :我目前使用这个配置:
ssl_certificate /crt/ssl.crt;
ssl_certificate_key /crt/ssl.key;
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 80;
server_name xxx.xxx.xxx.xxx;
return 301 $scheme://nilux.eu$request_uri;
}
server {
listen 443 ssl;
server_name nilux.eu www.nilux.eu;
ssl on;
return 404;
}
server {
listen 443 ssl;
server_name app1.nilux.eu www.app1.nilux.eu;
ssl on;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 443 ssl;
server_name app2.nilux.eu www.app2.nilux.eu;
ssl on;
location / {
proxy_pass http://127.0.0.1:8099;
}
}
但不知道如何重定向 ip:port 请求。
答案1
您快完成了!
server {
listen 8080;
server_name xxx.xxx.xxx.xxx;
return 301 $scheme://my.domain.com$request_uri;
}
另一个也一样,但是改变端口:
server {
listen 8099;
server_name xxx.xxx.xxx.xxx;
return 301 $scheme://other.domain.com$request_uri;
}
基本上,你告诉 Nginx 要监听哪个端口。
默认情况下,HTTP 端口为 80,因此,nginx 中的默认值为听 80;
但是,如果你想通过其他端口进入网站,你只需更改听指令到另一个端口。
希望这可以帮助!
答案2
只需更改服务器配置中的端口即可。
server {
listen 8080;
server_name 192.168.0.1;
return 301 $scheme://nilux.eu$request_uri;
}
server {
listen 8099;
server_name 192.168.0.1;
return 301 $scheme://subdomain.nilux.eu$request_uri;
}