小编phi*_*kov的帖子

Nginx 无法访问上游 .sock 文件和公共文件夹

鉴于:DigitalOcean 上的新鲜 Archlinux VPS 盒子。我创建了一个用户“app”,还有一个/home/app/webapp.sock由 systemd 启动的二进制文件创建的文件:

[Unit]
Description=Web application server
After=network.target

[Service]
Type=forking
User=app
PIDFile=/home/app/webapp.pid
ExecStart=/home/app/.gem/ruby/2.0.0/bin/thin -d --user app -e production --chdir /home/app/app --socket /home/app/webapp.sock --pid /home/app/webapp.pid --log /home/app/log/webapp.log start
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/bin/kill -QUIT $MAINPID

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

不想以 http 用户身份运行此应用程序,因为有时我可能会决定在该计算机上以不同用户身份运行另一个 Web 服务器,仅将其 .sock 文件公开给 http 用户。众所周知,Rails 存在安全漏洞,因此我想避免“应用程序”用户从他的主文件夹及其自己的数据中获取任何内容。

我有一个 sudo 用户“sudoer”,甚至无法读取 pid 文件:

[sudoer@host ~]$ cat /home/app/webapp.pid
cat: /home/app/webapp.pid: Permission denied
[sudoer@host ~]$ sudo su - app
[app@host ~]$ ls -l webapp.pid
-rw-r--r-- 1 app app 5 …
Run Code Online (Sandbox Code Playgroud)

linux nginx

4
推荐指数
1
解决办法
8169
查看次数

标签 统计

linux ×1

nginx ×1