mzya
(mzya)
1
我一直在尝试弄清楚如何在其他 Nginx 站点旁边安装 Discourse,但在设置过程中,我持续收到以下消息:
警告:计算机的端口 443 似乎无法通过主机名 lush.gg 访问。
警告:连接到 http://<domain>(端口 80)也失败。
我已确认 Cloudflare 没有代理该 IP 地址。我还使用了一个附加到服务器的辅助 IP 地址,而第一个 IP 上已经有一个 Nginx 网站。
已更新的 app.yml:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
## 如果您希望添加 Lets Encrypt (https),请取消注释这两行
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## 此容器应暴露哪些 TCP/IP 端口?
## 如果您希望 Discourse 与另一个 Web 服务器(如 Apache 或 Nginx)共享端口,
## 请参阅 https://meta.discourse.org/t/17247 获取详细信息
#expose:
#- "25654:80" # http
#- "443:443" # https
已更新的 Nginx 配置:
server {
listen <ip address>:80; listen [::]:80;
server_name <domain>; # <-- 修改此项
return 301 https://$host$request_uri;
}
server {
listen <ip address>:443 ssl http2; listen [::]:443 ssl http2;
server_name <domain>; # <-- 修改此项
ssl_certificate /data/web/discourse/shared/standalone/ssl/fullchain.pem;
ssl_certificate_key /data/web/discourse/shared/standalone/ssl/privkey.pem;
ssl_dhparam /data/web/discourse/shared/standalone/ssl/dhparams.pem;
ssl_session_tickets off;
# 已从帖子中移除:ssl_ciphers ...
http2_idle_timeout 5m; # 从默认的 3m 提升至 5m
client_max_body_size 0;
location / {
proxy_pass http://unix:/data/web/discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
}
}
我哪里做错了?
您的服务器的 80/443 端口已被其他 nginx 服务器占用,因此 Discourse 无法建立连接。
如果您希望在同一服务器上运行 Discourse 和其他网站,请使用本教程:
1 个赞
mzya
(mzya)
3
是的,我实际上最先就尝试了这个,但我会再试一次并报告结果!
mzya
(mzya)
4
同样令人遗憾!
nginx 配置
server {
listen 80; listen [::]:80;
server_name lush.gg; # <-- 修改此处
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2; listen [::]:443 ssl http2;
server_name lush.gg; # <-- 修改此处
ssl_certificate /etc/letsencrypt/live/lush.gg/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/lush.gg/privkey.pem;
# ssl_dhparam /var/discourse/shared/standalone/ssl/dhparams.pem;
ssl_session_tickets off;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;
http2_idle_timeout 5m; # 从默认的 3m 提升
client_max_body_size 0;
location / {
proxy_pass http://unix:/data/web/lush-discourse/shared/standalone/nginx.http.sock:;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
}
}
app.yml
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/web.socketed.template.yml"
## 如果您想添加 Lets Encrypt (https),请取消注释以下两行
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## 此容器应暴露哪些 TCP/IP 端口?
## 如果您希望 Discourse 与另一个 Web 服务器(如 Apache 或 nginx)共享端口,
## 请参阅 https://meta.discourse.org/t/17247 获取详细信息
#expose:
#- "25654:80" # http
#- "443:443" # https
mzya
(mzya)
5
明白了!技巧是启用 DOCKER_USE_HOSTNAME: true。
system
(system)
关闭
6
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.