我有一个 VirtualHost 设置为将所有请求代理到在端口 9000 上运行的另一台服务器。
我拥有的 :
ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/
Run Code Online (Sandbox Code Playgroud)
我试过的:
! ProxyPass /test.html http://localhost:9000/
ProxyPass /test.html ! http://localhost:9000/
ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1
Run Code Online (Sandbox Code Playgroud)
没有一个工作...
我想从代理中排除一个文件或一组文件,文档说明了“! 指令在您不想反向代理子目录的情况下很有用。”,但没有示例对于那种情况。
我有一个脚本,可以在用户的主目录中执行多个命令。这些文件归用户所有,Apache(www-data
组)对它们只有读取权限。该脚本需要由 PHP 通过 按需执行exec()
,并执行一些文件的删除/解压缩,由于 Apache 没有对目录的写权限,因此失败。
我试过sudoers
像这样编辑文件:
www-data ALL=(user) NOPASSWD: /bin/su user -c /home/user/bin/script.sh
Run Code Online (Sandbox Code Playgroud)
但它提示我输入用户的密码
我也试过
www-data ALL=(root) NOPASSWD: /usr/bin/sudo su user -c /home/user/bin/script.sh
Run Code Online (Sandbox Code Playgroud)
但这会提示输入www-data
's sudo
password
如何在没有密码的情况下使其工作?