I modified the /etc/apparmor.d/opencpu.d/custom
file to allow opencpu to manipulate the local file. In fact, this command can run successfully:
curl http://localhost/ocpu/library/testg/R/hello -d "x='/home/qh/opencputmp/a.txt'&y='/home/qh/opencputmp/b.txt'"
/ocpu/tmp/x0b321396c2/R/hello
/ocpu/tmp/x0b321396c2/R/.val
/ocpu/tmp/x0b321396c2/source
/ocpu/tmp/x0b321396c2/console
/ocpu/tmp/x0b321396c2/info
/ocpu/tmp/x0b321396c2/files/DESCRIPTION
But why can't I run it by using cloud, and the result is as follows:
curl https://qwqaijingjing.ocpu.io/test/R/hello -d "x='/home/qh/opencputmp/a.txt'&y='/home/qh/opencputmp/b.txt'"
cannot open the connection
In call:
file(file, ifelse(append, "a", "w"))
Do they use different security files?
I will appreciate it if anyone can give me some help. Thanks.