Apache 落后于 Nginx

Apache 落后于 Nginx

我将 nginx 代理到 apache 作为后端,以便 nginx 处理静态资产。不幸的是,当我尝试访问主域时,它只显示未找到页面。我收到这些文件的 404 错误。

example.com > 未找到页面

example.com/somepage/> 有效,但 Web 服务器未加载 css 和 js 文件。

我的 Nginx 配置:

server {
    listen 80;
    server_name example.com www.example.com;
    root /home/wpaper/public_html;
    index index.php index.htm index.html;
#    include /home/wpaper/public_html/nginx.conf;

    location / {
        try_files $uri $uri/ @proxy;
    }

    location @proxy {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:8081;
}

    location ~ (index|get|static|report|404|503|health_check)\.php$ {
    try_files $uri =404;
    proxy_buffering off;
    proxy_pass http://127.0.0.1:8081;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Client-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

    location ~ \.php$ {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
}


    location ~ /\.ht {
        deny all;
    }
}

如您所见,Apache 正在监听 8081 端口。

这是它的虚拟主机

<VirtualHost 127.0.0.1:8081>
        ServerName example.com
        ServerAlias www.example.com
        DocumentRoot /home/wpaper/public_html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory /home/wpaper/public_html>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>

.htaccess 用于根文件夹

DirectoryIndex index.php php_flag session.auto_start 关闭 SecFilterEngine 关闭 SecFilterScanPOST 关闭

SSLOptions StdEnvVars

Options +FollowSymLinks
RewriteEngine on

#RewriteBase /magento/

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]


#RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.*$
#RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
#RewriteRule ^(.*)$ /mobiledirectoryhere/ [L,R=302]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* index.php [L]

AddDefaultCharset Off
#AddDefaultCharset UTF-8
AddType 'text/html; charset=UTF-8' html

ExpiresDefault "access plus 1 year"
ExpiresByType text/html A0
ExpiresByType text/plain A0

Header set X-UA-Compatible "IE=edge"

# `mod_headers` cannot match based on the content-type, however,
# the `X-UA-Compatible` response header should be send only for
# HTML documents and not for the other resources.

<FilesMatch "\.(appcache|atom|bbaw|bmp|crx|css|cur|eot|f4[abpv]|flv|geojson|gif|htc|ico|jpe?g|js|json(ld)?|m4[av]|manifest|map|mp4|oex|og[agv]|opus|otf|pdf|png|rdf|rss|safariextz|svgz?|swf|topojson|tt[cf]|txt|vcard|vcf|vtt|webapp|web[mp]|webmanifest|woff2?|xloc|xml|xpi)$">
    Header unset X-UA-Compatible
</FilesMatch>

请提供任何帮助,因为我对这些不太熟悉。

相关内容