Search…

X3 Photo Gallery Support Forums

Search…
 
User avatar
wuhao0015
Topic Author
Posts: 2
Joined: 13 Jan 2021, 21:38

Nginx1.18搭建X3.30.0无法显示预览图

14 Jan 2021, 01:42

各位版主和专家大家好:
我使用centos7+nginx1.18+php7.2.34+mysql5.7搭建了一个环境,里面安装了x3。
按照论坛和文档的说明也添加了rewrite,但是还是显示不正常,没有预览图,搜索了论坛找遍了论坛也没有解决。
希望版主及各位专家指点下。
这个是phpinfo:
https://iteachs.com/phpinfo.php
这个是x3的安装目录:
https://iteachs.com/x3/
如下是我的nginx的配置文件:
more /usr/local/nginx/conf/vhost/iteachs.com.conf
Code
server {
 listen 80;
 listen [::]:80;
 listen 443 ssl http2;
 listen [::]:443 ssl http2;
 ssl_certificate /usr/local/nginx/conf/ssl/iteachs.com.crt;
 ssl_certificate_key /usr/local/nginx/conf/ssl/iteachs.com.key;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
 ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-
SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
 ssl_prefer_server_ciphers on;
 ssl_session_timeout 10m;
 ssl_session_cache builtin:1000 shared:SSL:10m;
 ssl_buffer_size 1400;
 add_header Strict-Transport-Security max-age=15768000;
 ssl_stapling on;
 ssl_stapling_verify on;
 server_name iteachs.com www.iteachs.com;
 access_log off;
 index index.html index.htm index.php;
 root /data/wwwroot/iteachs.com;
 if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
 if ($host != iteachs.com) {  return 301 $scheme://iteachs.com$request_uri;  }
 include /usr/local/nginx/conf/rewrite/wordpress.conf;
 #error_page 404 /404.html;
 #error_page 502 /502.html;
 location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
   valid_referers none blocked *.iteachs.com iteachs.com www.iteachs.com;
   if ($invalid_referer) {
       return 403;
   }
 }
 location ~ [^/]\.php(/|$) {
   #fastcgi_pass remote_php_ip:9000;
   fastcgi_pass unix:/dev/shm/php-cgi.sock;
   fastcgi_index index.php;
   include fastcgi.conf;
 }

 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
   expires 30d;
   access_log off;
 }
 location ~ .*\.(js|css)?$ {
   expires 7d;
   access_log off;
 }
 location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
   deny all;
 }

 # X3 rewrite rules for sub-directory /x3
 location /x3 {
   if (!-e $request_filename){
     rewrite (.+)\.(html|json|xml|atom|rss)$ $1/ last;
     rewrite ^/x3/render/. /x3/app/parsers/slir/ last;
     rewrite ^/x3/(.*)$ /x3/index.php?$1 last;
   }
 }
 # Prevent web access to X3 /config and /_cache directories
 location ~ /x3/(config|_cache) {
   deny all;
 }
}

请各位专家帮忙看看。。。
 
User avatar
mjau-mjau
X3 Wizard
Posts: 13293
Joined: 30 Sep 2006, 03:37

Re: Nginx1.18搭建X3.30.0无法显示预览图

14 Jan 2021, 02:10

你好我只能使用Google翻译:

我检查了您的网站,发现由于页面正在加载,重写至少部分有效。例如:
https://iteachs.com/x3/galleries/nature/

因此,以下重写规则绝对有效:
Code
rewrite ^/x3/(.*)$ /x3/index.php?$1 last;
X3还使用重写来请求调整大小的图像,这些图像在您的网站上不起作用(找不到404):
https://iteachs.com/x3/render/w480/gall ... apples.jpg

我之前在NGINX上的用户遇到的问题是JPG图像的规则冲突。在上面的链接中,服务器正在该位置查找文件并返回“ 404 not found”,而不是在找不到文件时将请求重写到X3。我不确定,但是在您的情况下,可能是以下规则占据上风并且阻止了重写规则:
Code
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
   expires 30d;
   access_log off;
 }
甚至这个:
Code
location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
   valid_referers none blocked *.iteachs.com iteachs.com www.iteachs.com;
   if ($invalid_referer) {
       return 403;
   }
 }
也许尝试暂时删除上述内容,看看是否可以解决问题? 不幸的是,我不是Nginx的专家。
 
User avatar
wuhao0015
Topic Author
Posts: 2
Joined: 13 Jan 2021, 21:38

Re: Nginx1.18搭建X3.30.0无法显示预览图

14 Jan 2021, 02:25

mjau-mjau wrote: 你好我只能使用Google翻译:

我检查了您的网站,发现由于页面正在加载,重写至少部分有效。例如:
https://iteachs.com/x3/galleries/nature/

因此,以下重写规则绝对有效:
Code
rewrite ^/x3/(.*)$ /x3/index.php?$1 last;
X3还使用重写来请求调整大小的图像,这些图像在您的网站上不起作用(找不到404):
https://iteachs.com/x3/render/w480/gall ... apples.jpg

我之前在NGINX上的用户遇到的问题是JPG图像的规则冲突。在上面的链接中,服务器正在该位置查找文件并返回“ 404 not found”,而不是在找不到文件时将请求重写到X3。我不确定,但是在您的情况下,可能是以下规则占据上风并且阻止了重写规则:
Code
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
   expires 30d;
   access_log off;
 }
甚至这个:
Code
location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv|mp4)$ {
   valid_referers none blocked *.iteachs.com iteachs.com www.iteachs.com;
   if ($invalid_referer) {
       return 403;
   }
 }
也许尝试暂时删除上述内容,看看是否可以解决问题? 不幸的是,我不是Nginx的专家。
非常感谢专家排查和回复,我已经将上面两处配置注释掉了,现在可以完美运行了,真是太感谢了。。。love you so much 。
 
User avatar
shaowu
Posts: 16
Joined: 13 Mar 2017, 06:52

Re: Nginx1.18搭建X3.30.0无法显示预览图

06 Jan 2022, 21:21

在Nginx中,请问你是怎么配置伪静态规则,谢谢
 
User avatar
BeastTL
Posts: 13
Joined: 23 Feb 2022, 07:05

Re: Nginx1.18搭建X3.30.0无法显示预览图

24 Feb 2022, 23:21

shaowu wrote: 在Nginx中,请问你是怎么配置伪静态规则,谢谢
看这里:https://gist.github.com/mjau-mjau/6dc19 ... e566a8457b