我还是配置 nginx 的新手。
是否可以在一个文件中配置多个域,并且它们共享大部分相同的配置?
例如,我想配置两个基于一个应用程序的域,一个域需要基本身份验证,另一个域则不需要。
我想做这样的事情,但我认为这行不通:
已启用站点/mysite
server {
listen 127.0.0.1:80 default_server;
server_name www.mysite.com;
include sharedconf.conf;
}
server {
listen 127.0.0.1:80;
server_name www.mysite.co.jp;
auth_basic "restricted";
auth_basic_user_file /etc/nginx.htpasswd;
include sharedconf.conf;
}
共享配置文件
location / {
proxy_pass_header Server;
#... bunch of config line ...
}
答案1
是的,效果很好。
我假设您使用的是 Debian 或 Debian 衍生的 Linux 发行版。那么您无法将 放入sharedconf.conf
或/etc/nginx/sites-enabled
放入/etc/nginx/conf.d
,因为这些目录中的文件包含在nginx.conf
Debian 上的 main 中。