我在将 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
选项看起来就像您想要做的。