我正在尝试将Nginx设置为使用非根级地址。例如,我有一个位于mysite.com
的现有应用程序,它在docker容器中运行,并且当前在Ngnix SSL后面运行。
我正在尝试在另一个容器中添加第二个应用程序,但我希望它不位于mysite.com
(该应用程序为Miniflux)中,而不是mysite.com/rss
。
我遵循了建议的设置-应用程序声明它正在0.0.0.0:8080
上监听(本身看起来很奇怪)
这是我在设置此应用程序时使用的docker-compose.yml
。 (注意:我根据他们在https://miniflux.app/docs/howto.html#reverse-proxy-subfolder上的建议添加了BASE_URL
version: '3'
services:
miniflux:
image: miniflux/miniflux:latest
ports:
- "8080"
depends_on:
- db
environment:
- DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=test123
- BASE_URL=http://localhost/rss/
db:
image: postgres:latest
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
volumes:
- miniflux-db:/var/lib/postgresql/data
volumes:
miniflux-db:
这是我的nginx.conf
events {
}
http {
server {
listen 443 ssl;
server_name site.com;
ssl_certificate /etc/letsencrypt/live/site.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://127.0.0.1:9000/;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
# by default nginx times out connections in one minute
proxy_read_timeout 1d;
}
}
server {
server_name site.com;
listen 80;
location /rss/ {
proxy_pass http://127.0.0.1:8080/rss/;
proxy_redirect off;
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;
}
}
}
我没有碰过sites-enabled
中的/etc/nginx
,因为设置/文档从未提及过。
任何指导表示赞赏。