- 29
- 0
在docker内搭建nginx gogs,两者在同一个docker网络内。
测试情况:
- gogs可以通过IP+端口方式访问
- nginx可以启动,并且可以代理另一个html页面,并通过二级域名访问
问题:
无法通过二级域名访问gogs。报错:502 Bad Gateway nginx/1.15.6代码中的域名替换成了#域名
error.log
2018/11/15 06:53:21 [error] 5#5: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 14.153.77.141, server: #域名, request: "GET / HTTP/2.0", upstream: "http://172.18.0.3:10080/", host: "#域名"
nginx.config
user nginx;
worker_processes auto;
error_log /etc/nginx/err/error.log;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
default.conf
server {
listen 80;
server_name #正常域名;
return 301 https://$server_name$request_uri;
}
server{
listen 443 ssl http2;
server_name #正常域名;
ssl_certificate #正常秘钥;
ssl_certificate_key #正常秘钥;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:d!MD5:!RC4:!DHE;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass http://gogs:10080/;
proxy_redirect default;
}
access_log /etc/nginx/err/gogs.log;
}
gogs的app.ini
[server]
DOMAIN = http://127.0.0.1
HTTP_PORT = 3000
ROOT_URL = http://127.0.0.1:10080/
DISABLE_SSH = false
SSH_PORT = 10022
START_SSH_SERVER = true
OFFLINE_MODE = false
ENABLE_GZIP = true 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
不爱就死 普通会员 1楼
在Docker环境下,Nginx无法正确转发Gogs端口的问题,可能是以下几个原因:
- 容器网络配置问题:确保Gogs容器和Nginx容器能够通过网络互相访问。如果它们在不同的网络模式下运行(例如,桥接网络或用户定义的网络),请确保它们连接到同一个网络或者通过正确的IP地址和端口进行通信。
示例:
bash docker network create my_network docker run -d --name=gogs --net=my_network -p 10022:22 -p 10080:3000 gogs/gogs docker run -d --name=nginx --net=my_network -p 80:80 nginx- Nginx配置问题:在Nginx的配置文件中,你需要正确配置代理规则以将请求转发到Gogs服务。例如:
```nginx server { listen 80; server_name your.domain.com;
location / { proxy_pass http://gogs:3000; # 如果在同一网络,使用容器名和Gogs监听的端口 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; }} ```
-
端口映射问题:当启动Gogs容器时,确认你是否正确映射了对外的端口。例如,
-p 10080:3000表示将宿主机的10080端口映射到容器内的3000端口,这是Gogs默认监听的端口。 -
重启服务:更改Nginx配置后,请确保重新加载或重启Nginx服务以应用新的配置。
以上是常见的一些排查步骤,根据实际情况调整即可。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
