我很难让nginx在我的Ubuntu18.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-subdomain都会在端口8443上被代理到我的code-server,我不明白为什么会发生这种情况。干杯!
发布于 2019-05-01 18:48:46
看起来您的服务器的端口80是不可访问的。由于代码服务器侦听端口443 ( https ),它将始终响应通过https发出的任何请求(前提是您的DNS将所有域重定向到您的服务器,这意味着您的域具有一些通配符记录,如配置的*.example.com ),这解释了您的“奇怪”行为。
您应该检查防火墙配置,以确保您可以从端口80访问服务器,这是默认的HTTP端口。这将使服务器从该端口工作,并重定向到您的静态内容,而静态内容也应该在其中(在/var/www/html上放置一个/var/www/html)。
至于其他问题,到目前为止,我看不到任何其他问题,所以它必须是端口80不可访问或缺少的内容。
https://stackoverflow.com/questions/55940887
复制相似问题