Нет. Используйте несколько locations
, это может выглядеть ужасным, но Вы закончите меньшим шансом если сумасшествие.
Также помните, что nginx обрабатывает сначала соответствия regex и если ни один не соответствует ему, пробует самое определенное литеральное местоположение, будучи location /
своего рода поймайте все местоположение. Знание, что можно, возможно, уменьшить количество местоположений, в которых Вы нуждаетесь. Смотрите на этот документ, чтобы видеть, как обрабатываются запросы.
Служба поддержки Red Hat подсказала мне, как правильно действовать. Контекст должен быть установлен для /etc/rc.d/init.d/my-httpd , а не для /etc/init.d/my-httpd .
$ semanage fcontext -d -t httpd_initrc_exec_t /etc/init.d/my-httpd
$ semanage fcontext -C -l
$ semanage fcontext -a -t httpd_initrc_exec_t /etc/rc.d/init.d/my-httpd
$ semanage fcontext -C -l
SELinux fcontext type Context
/etc/rc.d/init.d/my-httpd all files system_u:object_r:httpd_initrc_exec_t:s0
Один раз правильный набор правил контекста, restorecon работает с файлом /etc/init.d/my-httpd .
ls -Z /etc/rc.d/init.d/my-httpd /etc/init.d/my-httpd
-rw-------. root root system_u:object_r:initrc_exec_t:s0 /etc/init.d/my-httpd
-rw-------. root root system_u:object_r:initrc_exec_t:s0 /etc/rc.d/init.d/my-httpd
$ restorecon /etc/init.d/my-httpd
$ ls -Z /etc/rc.d/init.d/my-httpd /etc/init.d/my-httpd
-rw-------. root root system_u:object_r:httpd_initrc_exec_t:s0 /etc/init.d/my-httpd
-rw-------. root root system_u:object_r:httpd_initrc_exec_t:s0 /etc/rc.d/init.d/my-httpd