问题描述
上一个标题:使用Docker Nginx容器代理本地网络中另一台计算机上的网站
我真的很想从外部访问我的3D打印机(OctoPrint)。目前可以在我家的http://192.168.1.198
上访问它。
我在另一台服务器上安装了docker,并且我家的端口80和443指向该服务器。在该服务器上,我正在使用Traefik将所有域和子域转发到任何需要它的容器。
所以我想,如果我只是创建另一个Nginx容器,该容器只是OctoPrint的代理,该怎么办?猜猜是什么,它并不容易工作。
当前我的docker-compose.yml
如下所示:
version: "2"
services:
web:
image: Nginx
restart: always
networks:
- traefik_proxy
volumes:
- ./default.conf:/etc/Nginx/conf.d/default.conf
labels:
- traefik.enable=true
- traefik.http.routers.manuele0.entrypoints=http
- traefik.http.routers.manuele0.rule=Host(`<my-site>.`) || Host(`www.<my-site>`) || Host(`3d-printer-1.<my-site>`)
- traefik.http.routers.manuele0.middlewares=to_https
# Redirect to main domain
- traefik.http.routers.manuele1.entrypoints=https
- traefik.http.routers.manuele1.rule=Host(`<my-site>`)
- traefik.http.routers.manuele1.tls=true
- traefik.http.routers.manuele1.tls.certresolver=le
- traefik.http.routers.manuele1.middlewares=redirect_to_manuele
- traefik.http.middlewares.redirect_to_manuele.redirectregex.regex=^https:\/\/([^\/]*)\/(.*)
- traefik.http.middlewares.redirect_to_manuele.redirectregex.replacement=https://www.<my-site>/$${2}
- traefik.http.routers.manuele.entrypoints=https
- traefik.http.routers.manuele.rule=Host(`www.<my-site>`) || Host(`3d-printer-1.<my-site>`)
- traefik.http.routers.manuele.tls=true
- traefik.http.routers.manuele.tls.certresolver=le
networks:
traefik_proxy:
external: true
以及Nginx配置:
# <here is another proxy to my GitHub page,which works and is not related to this problem>
server {
listen 80;
listen [::]:80;
server_name 3d-printer-1.<my-site>;
location / {
proxy_pass http://192.168.1.198;
# proxy_http_version 1.1;
# proxy_buffering off;
proxy_set_header Host $http_host;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection $proxy_connection;
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 $proxy_x_forwarded_proto;
# proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
# proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
proxy_intercept_errors on;
expires off;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/Nginx/html;
}
}
http://192.168.1.198
不起作用,那么我还能如何代理呢?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)