如何覆盖特定域的 Nginx 配置

Posted

技术标签:

【中文标题】如何覆盖特定域的 Nginx 配置【英文标题】:How to override Nginx configuration for specific domain 【发布时间】:2019-06-03 02:14:50 【问题描述】:

我正在使用 proxy_pass 在我的 nginx 服务器中运行节点应用程序

我找不到合适的地方,所以我编辑了

/usr/local/directadmin/data/users/civilcom/nginx.conf

手动归档以使其工作,并且它们正确

如您所知,该文件是由 DirectAdmin 和服装模板自动创建的,因此每次我的更改都会恢复为原始配置。

我的配置是这样的

server

    listen MY_SERVER_IP:80;
    server_name DOMAIN.com www.DOMAIN.com ;
    access_log /var/log/nginx/domains/DOMAIN.com.log;
    access_log /var/log/nginx/domains/DOMAIN.com.bytes bytes;
    error_log /var/log/nginx/domains/DOMAIN.com.error.log;
    root /home/civilcom/domains/DOMAIN.com/public_html;
    index index.php index.html index.htm;
    include /usr/local/directadmin/data/users/civilcom/nginx_php.conf;
    location /
    
                   proxy_pass http://localhost:3000;
                   proxy_http_version 1.1;
                   proxy_set_header Upgrade $http_upgrade;
                   proxy_set_header Connection 'upgrade';
                   proxy_set_header Host $host;
                   proxy_cache_bypass $http_upgrade;
    
    location /nginx_static_files/
    
            # access_log  /var/log/nginx/access_log_proxy;
            alias       /home/civilcom/domains/DOMAIN.com/public_html/;
            internal;
    
    include /etc/nginx/webapps.conf;

我尝试更改模板,但似乎我们无法在 Nginx conf 文件中使用内部 if 语句来检查我的 DOMAIN。

将我的代码放入其中的正确位置和文件在哪里?

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

将您要编辑的任何配置文件复制到custombuild/custom/directoryname,在本例中为nginx。然后根据需要编辑文件,然后从custombuild 目录运行./build rewrite_confs

【讨论】:

以上是关于如何覆盖特定域的 Nginx 配置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Quarkus 中覆盖一个单元测试的配置属性

Chef:如何覆盖角色中的默认属性?

你如何覆盖 OpenFeign 的 Hystrix 配置?

AWS Elasticbeanstalk 使用 .platform 覆盖 Nginx 配置不起作用

超实用的 Nginx 极简教程,覆盖了常用场景

超实用的 Nginx 极简教程,覆盖了常用场景