我很难让nginx在我的Ubuntu 18.04服务器上工作。
以下是我目前的配置,没有启用其他任何功能。 include/example.ssl.conf
包含一些用于配置SSL的常用设置。
server {
listen 80;
listen [::]:80;
server_name test.example.com;
root /var/www/html;
index index.html index.nginx-debian.html;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name code.example.com;
include include/example.ssl.conf;
location / {
proxy_pass http://localhost:8443;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
由于某些原因,当我按下http://test.example.com
时,我没有任何反应,浏览器过了一会儿就超时了。如果我点击https://code.example.com
,则可以使用,并且将我重定向到code-server
的登录页面。奇怪的是,任何https
子域都在端口8443上被代理到我的code-server
,我不明白为什么会这样。干杯!
答案 0 :(得分:1)
好像服务器的端口80无法访问。由于代码服务器侦听端口443(https),因此它将始终答复通过https发出的 any 请求(前提是您的DNS将所有域都重定向到您的服务器,这意味着您的域具有一些通配符记录,例如*.example.com
,)解释了您的“奇怪”行为。
您应该检查防火墙配置,以确保可以从端口80(默认的HTTP端口)访问服务器。那样应该可以使服务器从该端口工作,并重定向到您的静态内容,该内容也应该存在于此(在/var/www/html
处放置index.html)。
对于其他情况,到目前为止,我看不到其他任何问题,因此端口80可能无法访问或内容丢失。