2017-06-20 52 views
1

CentOS的7 + nginx的1.13.1403 nginx的(1.13.1)的在/ usr /份額外的文件夾上/ nginx的/

的SELinux - >當前模式:下根帳戶許可

做的一切。

到/ root/RAID是在/ usr /共享/ nginx的/ HTML/RAID,因爲它是從/ dev/md0的安裝在同一個文件夾中:

mount /dev/md0 /usr/share/nginx/html/raid 
mount /dev/md0 /root/raid 

如果我試圖改變的根文件夾中nginx.conf到水木清華的在/ usr /股外/ nginx的/,如/根/ RAID,我得到403錯誤:(

這裏是我的nginx.conf:

user nginx; 
worker_processes auto; 

error_log /var/log/nginx/error.log warn; 
pid  /var/run/nginx.pid; 

events { 
    worker_connections 1024; 
} 


http { 
    include  /etc/nginx/mime.types; 
    default_type application/octet-stream; 

    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 
         '$status $body_bytes_sent "$http_referer" ' 
         '"$http_user_agent" "$http_x_forwarded_for"'; 

    access_log /var/log/nginx/access.log main; 

    sendfile  on; 

    keepalive_timeout 65; 

    include /etc/nginx/conf.d/*.conf; 


    server { 
     listen  80 default_server; 
     server_name _ server1 server1.domain.com; 

     root   /usr/share/nginx/html/raid; 
     #root   /root/raid; 

     location/{ 
     } 

     error_page 404 /404.html; 
      location = /40x.html { 
     } 

     error_page 500 502 503 504 /50x.html; 
      location = /50x.html { 
     } 

    } 
} 

我這樣做:

# chown -R nginx:nginx /usr/share/nginx/html/raid 
# chmod -R 775 /usr/share/nginx/html/raid 

還是這個(不是真的需要,因爲它們是相同的文件夾嗎,對不對?):

# chown -R nginx:nginx /root/raid 
# chmod -R 775 /root/raid 

# ls -la /usr/share/nginx/html/raid 
total 28 
drwxrwxr-x. 3 nginx nginx 4096 Jun 20 02:56 . 
drwxr-xr-x. 3 root root 18 Jun 20 02:56 .. 
-rwxrwxr-x. 1 nginx nginx 3650 Oct 31 2016 404.html 
-rwxrwxr-x. 1 nginx nginx 537 May 30 18:10 50x.html 
-rwxrwxr-x. 1 nginx nginx 924 Jun 16 21:49 index.html 
-rwxrwxr-x. 1 nginx nginx 19 Jun 8 18:48 info.php 
-rwxrwxr-x. 1 nginx nginx 1 Jun 20 02:56 test 

# ls -la /root/raid 
total 28 
drwxrwxr-x. 3 nginx nginx 4096 Jun 20 02:56 . 
dr-xr-x---. 6 root root 192 Jun 20 02:23 .. 
-rwxrwxr-x. 1 nginx nginx 3650 Oct 31 2016 404.html 
-rwxrwxr-x. 1 nginx nginx 537 May 30 18:10 50x.html 
-rwxrwxr-x. 1 nginx nginx 924 Jun 16 21:49 index.html 
-rwxrwxr-x. 1 nginx nginx 19 Jun 8 18:48 info.php 
-rwxrwxr-x. 1 nginx nginx 1 Jun 20 02:56 test 

只要我改變nginx.conf根路徑返回到/ usr /共享/ nginx/html/raid &該網站打開正確。

而且我已經試過:

# setsebool -P httpd_can_network_connect on 
# chcon -Rt httpd_sys_content_t /root/raid 
# chcon -R --reference=/usr/share/nginx /root/raid 

不宜真的需要寬容的方式,對不對?

nginx的日誌顯示如下:

/var/log/access.log:

192.168.0.103 - - [20/Jun/2017:12:45:33 +0300] "GET/HTTP/1.1" 403 571 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" "-" 

/var/log/error.log:

2017/06/20 12:45:33 [error] 18114#18114: *4 "/root/raid/index.html" is forbidden (13: Permission denied), client: 192.168.0.103, server: _, request: "GET/HTTP/1.1", host: "server1.domain.com" 

我忘記什麼? :)

回答

0

(1)不要將相同的設備安裝到不同的安裝點,這不是根本原因,但不要永遠這樣做。
(2)掛載點「/ root/raid」,這是根路徑「/ root」中的DIR,「nginx:nginx」無法讀取「/ root」中的子目錄,對吧?請勿將/ dev/md0掛載到「/ root」中,將掛載點更改爲其他邏輯目錄,例如「/ srv/app/raid」。
(3)更好的辦法是,如果你想改變的根目錄,如使用軟鏈接:

ln -s /srv/app/raid /other_path/raid 

所以「/ other_path /突襲」是新的根目錄。