- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我被困在使用 jrcs/letsencrypt-nginx-proxy-companion 的反向代理 jwilder/nginx-proxy 后面部署 docker image gitea/gitea:1 以进行自动证书更新。
gitea 正在运行,我可以通过端口 3000 的 http 地址连接。
代理也在运行,因为我有多个应用程序和服务,例如声纳运行良好。
这是我的 docker-compose.yml:
version: "2"
services:
server:
image: gitea/gitea:1
environment:
- USER_UID=998
- USER_GID=997
- DB_TYPE=mysql
- DB_HOST=172.17.0.1:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=mysqlpassword
- ROOT_URL=https://gitea.myhost.de
- DOMAIN=gitea.myhost.de
- VIRTUAL_HOST=gitea.myhost.de
- LETSENCRYPT_HOST=gitea.myhost.de
- LETSENCRYPT_EMAIL=me@web.de
restart: always
ports:
- "3000:3000"
- "222:22"
expose:
- "3000"
- "22"
networks:
- frontproxy_default
volumes:
- /mnt/storagespace/gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
frontproxy_default:
external: true
default:
当我调用
https://gitea.myhost.de结果是
2020/09/13 09:57:30 [error] 14323#14323: *15465 no live upstreams while connecting to upstream, client: 77.20.122.169, server: gitea.myhost.de, request: "GET / HTTP/2.0", upstream: "http://gitea.myhost.de/", host: "gitea.myhost.de"
这是 nginx/conf/default.conf 中的相关条目:
# gitea.myhost.de
upstream gitea.myhost.de {
## Can be connected with "frontproxy_default" network
# gitea_server_1
server 172.23.0.10 down;
}
server {
server_name gitea.myhost.de;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
# Do not HTTPS redirect Let'sEncrypt ACME challenge
location /.well-known/acme-challenge/ {
auth_basic off;
allow all;
root /usr/share/nginx/html;
try_files $uri =404;
break;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
server_name gitea.myhost.de;
listen 443 ssl http2 ;
access_log /var/log/nginx/access.log vhost;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/gitea.myhost.de.crt;
ssl_certificate_key /etc/nginx/certs/gitea.myhost.de.key;
ssl_dhparam /etc/nginx/certs/gitea.myhost.de.dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/certs/gitea.myhost.de.chain.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
include /etc/nginx/vhost.d/default;
location / {
proxy_pass http://gitea.myhost.de;
}
}
也许这是个问题,我按照
https://docs.gitea.io/en-us/backup-and-restore/ 中的建议为这个容器使用了 gitea 备份。
最佳答案
我相信您所缺少的只是您的 gitea 容器环境中的 VIRTUAL_PORT 设置。这告诉反向代理容器在路由来自您的 VIRTUAL_HOST 域的传入请求时连接哪个端口,有效地将“:3000”添加到您的 nginx conf 中的上游服务器。当您的容器都在同一主机上时,情况也是如此。默认情况下,反向代理容器只监听该服务的 80 端口,但由于 gitea docker 容器使用另一个默认端口 3000,因此您需要将其告知反向代理容器。请参阅下面使用撰写文件中的片段。
services:
server:
image: gitea/gitea:1
environment:
- USER_UID=998
- USER_GID=997
- DB_TYPE=mysql
- DB_HOST=172.17.0.1:3306
- DB_NAME=gitea
- DB_USER=gitea
- DB_PASSWD=mysqlpassword
- ROOT_URL=https://gitea.myhost.de
- DOMAIN=gitea.myhost.de
- VIRTUAL_HOST=gitea.myhost.de
- VIRTUAL_PORT=3000 <-------------------***Add this line***
- LETSENCRYPT_HOST=gitea.myhost.de
- LETSENCRYPT_EMAIL=me@web.de
restart: always
ports:
- "3000:3000"
- "222:22"
expose:
- "3000"
- "22"
networks:
- frontproxy_default
volumes:
- /mnt/storagespace/gitea_data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
frontproxy_default:
external: true
default:
P.S.:如果所有容器都在同一个主机上,则不需要公开端口,除了试图让它为它工作之外没有其他原因。
关于docker - jwilder/nginx-proxy 和 jrcs/letsencrypt-nginx-proxy-companion 后面的 docker 中的 gitea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63869617/
我知道我真的很接近这个,但我无法得到最后一部分 在职的。我几乎可以肯定它与 WordPress 有关 容器和 PHP 容器需要在同一个目录下吗?所以 PHP可以处理那个目录下的文件吗?我一直在努力 一
我正在尝试使用nginx-proxy docker容器,但是如果我指向没有子域的域(mydomain.com),那么我只会得到欢迎页面。我正在使用Docker-Compose,而我的.yml文件如下所
我有3个(app-client,app-a,app-b)应用程序在 jetty 服务器中运行,并且有一个NGINX负载均衡器(app-lb)。所有(内部或外部)请求都通过负载平衡器到达我的应用程序。
我正在尝试使用 docker-compose、jwilder/nginx-proxy 和 letsencrypt companion 构建一个 Web 应用程序,但是当我尝试它时,nginx 向我抛出
在更新dockeron版本18.03.0-ce-win59(16762)之后,jwilder / nginx-proxy无法运行。 我目前正在使用WINDOWS 10和DOCKER版本:18.03.0
我有一个 Web 应用程序(由 uwsgi 提供的 django),我正在使用 nginx 代理对特定容器的请求。 这是我的 default.conf 中的相关片段。 upstream web.ubu
我是新来的。 我在反向代理(jwilder的Docker / nginx-letsencrypt)后面有一个gitlab CE(Docker)的奇怪错误,当图像端口80和443直接映射到主机端口时,相
在我的架构中,我在我的 docker 中使用/jwilder/nginx-proxy 作为代理服务器,然后我使用 MySQL 和 WordPress 安装了 3 个 WordPress 网站。 它们运
我正在使用 https://github.com/jwilder/nginx-proxy用于 nginx-proxy 设置 端口 80 重定向正在工作。这意味着我可以使用 test.example.c
我通过 boot2docker 在 osx 上使用 docker . 我有 2 个主机:site1.loc.test.com和 site2.loc.test.com指向docker主机的ip地址。 两
我是Docker的新手,发现一件事我不理解:我从Github存储库nginx-proxy/nginx-proxy下载了图像jwilder/nginx-proxy,并使用docker-compose u
我正在尝试将jwilder/nginx-proxy设置为反向代理,以将请求代理到公开VIRTUAL_HOST = example.com环境变量的各种容器。 如果容器是直接从ec2群集主机上启动的,则
我正在使用 jwilder/nginx-proxy单独的 docker-compose.yaml .它看起来像这样: proxy: image: jwilder/nginx-proxy r
我正在对一些网站进行容器化。我希望能够迁移一些重写规则,以自动在请求中的域名中附加或删除 www。 在jwilder/nginx-proxy Docker 容器中的方式/位置 nginx.tmpl或者
我尝试将以下内容添加到 my_proxy.conf 文件中,该文件被安装到容器中的 /etc/nginx/conf.d/ 中,如 https://github.com/jwilder/nginx-pr
我使用jwilder/nginx-proxy做一个反向代理。我尝试将 http://localhost:8000/api 重定向到特定的 php 服务。 目录结构: . +-- docker-comp
我们正在努力通过 SSL 使用单个端口和 jwilder/nginx-proxy 设置多个网站托管,我们能够在没有 ssl 的情况下部署解决方案并且它工作正常但是当我们尝试使用 SSL 时它失败了HT
我在将 jwilder/nginx-proxy 与 cloudflare ssl(原始 key ,完整类型 SSL)一起使用时遇到问题。 在我激活 Cloudflare 的 DNS 代理之前,一切正常
我在 Docker 中创建了一个新的 Laravel 项目,并且正在为我的项目创建一个 VirtualHost 域名。 我的 docker-compose.yml 看起来像这样。 version: '
我正在尝试按照以下指南在Docker上设置Elasticsearch集群:https://sematext.com/blog/2016/12/12/docker-elasticsearch-swarm
我是一名优秀的程序员,十分优秀!