Nginx 和 Docker 静态文件问题
Nginx and Docker Static File Issue
我有一个 Dockerized Wordpress 实例。我只是在测试并把它 运行 放在网站上。
我已经正确地将我的 运行 docker 容器映射到 nginx,但是没有映射静态文件。例如,它不会转到 site.com 文件夹,而是转到:http://app/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 由于 app.
而不是有效的 URL
我做错了什么?
这是我的非常简单的nginx.conf:
upstream app {
server 127.0.0.1:8000;
}
server {
listen 80;
server_name site.com;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://app;
}
}
这是我的 docker-撰写:
version: "3.2"
services:
wordpress:
depends_on:
- mysql
image: wordpress:latest
volumes:
- wordpress:/var/www/html
- ./wp-config.php:/var/www/html/wp-config.php
- ./themes:/var/www/html/wp-content/themes
ports:
- "8000:80"
restart: always
env_file:
- wordpress.env
mysql:
image: mysql:5.7
restart: unless-stopped
env_file:
- wordpress.env
volumes:
- mysql:/var/www/html
volumes:
wordpress:
mysql:
好吧,看来我没有为我的代理设置正确的 headers。如下所示更改配置工作得很好:
server {
listen 80;
server_name site.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host; # important line here!
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;
}
}
我有一个 Dockerized Wordpress 实例。我只是在测试并把它 运行 放在网站上。
我已经正确地将我的 运行 docker 容器映射到 nginx,但是没有映射静态文件。例如,它不会转到 site.com 文件夹,而是转到:http://app/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2 由于 app.
而不是有效的 URL我做错了什么?
这是我的非常简单的nginx.conf:
upstream app {
server 127.0.0.1:8000;
}
server {
listen 80;
server_name site.com;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://app;
}
}
这是我的 docker-撰写:
version: "3.2"
services:
wordpress:
depends_on:
- mysql
image: wordpress:latest
volumes:
- wordpress:/var/www/html
- ./wp-config.php:/var/www/html/wp-config.php
- ./themes:/var/www/html/wp-content/themes
ports:
- "8000:80"
restart: always
env_file:
- wordpress.env
mysql:
image: mysql:5.7
restart: unless-stopped
env_file:
- wordpress.env
volumes:
- mysql:/var/www/html
volumes:
wordpress:
mysql:
好吧,看来我没有为我的代理设置正确的 headers。如下所示更改配置工作得很好:
server {
listen 80;
server_name site.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host; # important line here!
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;
}
}