在 synology dsm 上,将特定的 nginx 配置添加到特定的虚拟主机

在 synology dsm 上,将特定的 nginx 配置添加到特定的虚拟主机

在 synology dsm 上,我们使用 nginx 网站。在这个网站上,我们有(几个)虚拟主机。一个例子是,我们希望将端口“282”上的所有传入流量(超出路由器在端口 80 传入的特定域)重定向到另一个网站。(基本上相同,但使用 https 和端口 443)。

我们选择了根目录,并测试了加载页面是否确实index.html从根目录加载了。使用 Apache 服务器,我们可以将添加.htaccess到该根文件夹。

但是,可以为 nginx 实现什么样的结构呢?如果我查看配置,我会发现服务器正在使用:

server {

    listen      282 default_server;
    listen      [::]:282 default_server;

    server_name _;

    root    "/volume1/web/example.app";
    index    index.html  index.htm  index.cgi  index.php  index.php5 ;
    error_page 400 401 402 403 404 405 406 407 408 500 501 502 503 504 505 @error_page;

    location @error_page {
        root /var/packages/WebStation/target/error_page;
        rewrite ^ /$status.html break;
    }

    location ^~ /_webstation_/ {
        alias    /var/packages/WebStation/target/error_page/;
    }

    include /usr/local/etc/nginx/conf.d/ecd72a1b-c840-494f-8d6a-a837da4e0d94/user.conf*;

}

但是直接修改配置文件不起作用 - synology dsm 将在重新启动时覆盖这些文件。

那么,向网站添加自定义配置的规范方法是什么?或者更好的是 - 我如何告诉虚拟主机不仅加载页面,而是重定向?

答案1

您无法更改此配置,但您可以使用底部提到的用户配置文件来扩展它。在您的示例中/usr/local/etc/nginx/conf.d/ecd72a1b-c840-494f-8d6a-a837da4e0d94/user.conf。您可以将所有必需的更改添加到此文件,这些更改在 Synology 重新启动(或 Webstation 重新启动)时不会被更改/删除。

sudo nginx -s reload要测试您的更改,您可以通过ssh 会话重新加载 nginx 配置。

相关内容