Nginx + 反向代理 + PrestaShop

Nginx + 反向代理 + PrestaShop

我在将 Nginx 设置为 Apache2(提供 Prestashop 内容)的反向代理时遇到问题。

Nginx /站点可用/*.conf:

    server {
       listen 80 default_server;
       listen [::]:80;
       server_name example.com www.example.com

       location / {
          proxy_set_header Host &host;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded_proto $scheme;
          proxy_set_header http://0.0.0.0:8081;
       }
}

Apache2 /站点可用/*.conf:

<VirtualHost 0.0.0.0:8081>
     ServerAdmin [email protected]
      DocumentRoot /var/www/html/prestashop
     ServerName example.com

     <Directory /var/www/html/prestashop>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
     CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined

</VirtualHost> 

问题是,当我打开example.com浏览器时,它确实会将我重定向到我的商店,但在 URL 中,我的 DNS(example.com)会立即更改为我的服务器的 IP + 端口。在部署之前,我使用服务器的 IP 对 Presta 进行了一些测试 - 也许这就是问题的原因。浏览器显示的 IP 是我在测试期间使用的 IP。

我也更改了 Presta 根目录中 .htaccess 文件中的 IP 地址,但这并不能解决我的问题。

答案1

在 Presta Shop 配置中正确设置基本 URL。

文档

要向商店添加 URL,请在“多商店树”选择器中选择该商店,然后单击“添加新 URL”按钮。

设置Main URL选项看起来就像您想要做的。

相关内容