Synology Port根据子域

时间:2017-07-23 01:17:01

标签: nginx portforwarding synology

在我的路由器设置中,我设置如下:

  • port 5000 - 我的synology磁盘站条目
  • 端口1337 - 我的路由器面板

我已经使用DDNS为我的外部IP设置了一些子域:

  • wifi.example.com
  • disk.example.com
  • www.example.com

我想做的是:

  • wifi.example.com重定向到端口1337并进入路由器面板
  • disk.example.com重定向到端口5000并进入同义面板
  • www.example.com转到synology网站服务器

我尝试在路由器设置中将端口80设置到我的磁盘站,并希望通过nginx或synology提供的反向代理在磁盘站中进行重定向。但是,我在synology中找不到nginx.conf。我尝试设置反向代理但失败了。

有人可以为我提供任何线索吗?感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

我认为一定有可能......

  • 不幸的是,无法指定具有DNS条目的端口
  • 但我认为您希望的设置必须可以使用nginx
  • Synology上的nginx配置有所不同
  • 所以当你将wifi.example.com设置为你的家庭ip-address
  • 然后您必须将路由器配置为端口80端口80到您的同义词端口80
    • 你的synology需要配置www-station,所以nginx真的是后端。在我的情况下,它首先设置为Apache
    • 在www-station中你必须创建一个虚拟主机条目

enter image description here

  • 之后你必须打开一个ssh会话到你的synology
  • 并执行:cd / var / packages / WebStation / etc
  • Nginx配置位于VirtualHost.json文件中
  • 在这种情况下,您应该看到如下内容:

    " eeb4adef-1fc5-4fd5-BACC-1fbd1e747d1c" :{

      "backend" : 0,
      "fqdn" : "wifi.example.com",
      "https" : {
         "compatibility" : 1,
         "compression" : false,
         "hsts" : false,
         "http2" : false,
         "redirect" : false
      },
      "index" : [ "index.html", "index.htm", "index.cgi", "index.php", "index.php5" ],
      "php" : 4,
      "port" : {
         "http" : [ 80 ],
         "https" : [ 443 ]
      },
      "root" : "/volume1/web/wiki"
    

    },    "版本" :2 }

现在你可以删除" root"行并将其替换为:

"return" : "301 http://someurl:1337$request_uri"

完成此修改后,您必须重新启动WebStation服务。当您通过DSM查看WebStation中的虚拟主机时,它现在将显示为AbNormal,但重定向(在我的情况下)将正常工作。

我希望这些输入对你的问题很有用。

答案 1 :(得分:0)

您也可以尝试我的解决方案:
redirect-http-to-https

  1. 设置用于重定向的docker容器。
  2. 然后您可以将80(带有子域)插入docker端口,并将443插入应用程序端口

这不会更改任何默认设置,可以避免潜在的问题。