nginx 配置文件中的 server_name 如何工作?

nginx 配置文件中的 server_name 如何工作?

我正在关注https://gist.github.com/mcxiaoke/055af99e86f8e8d3176e

server {
  # Git repos are browsable at http://example.com:4321/
  listen 4321 default;   # Remove 'default' from this line if there is already another server running on port 80
  server_name example.com;

  location /index.cgi {
    root /usr/share/gitweb/;
    include fastcgi_params;
    gzip off;
    fastcgi_param SCRIPT_NAME $uri;
    fastcgi_param GITWEB_CONFIG /etc/gitweb.conf;
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
  }

  location / {
    root /usr/share/gitweb/;
    index index.cgi;
  }
}

为什么我的网络浏览器连接到http://example.com:4321/永远,同时可以立即连接到http://本地主机:4321/


我找到了一个解决方案https://unix.stackexchange.com/a/188193/674:添加到我的/etc/hosts

127.0.0.1 localhost www.example.net

www.example.net我现在可以在 Google Chrome 浏览器中连接,但不能在 Firefox 中连接:

安全连接失败

连接 www.example.com:4321 期间发生错误。 SSL 收到的记录超出了最大允许长度。错误代码:SSL_ERROR_RX_RECORD_TOO_LONG

The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
Please contact the website owners to inform them of this problem.

地址栏中的 URL 始终为“https://www.example.com:4321/“当我粘贴时www.example.com:4321/

为什么此更改适用于 Chrome?为什么不适合火狐浏览器呢?

谢谢。

答案1

您应该按照我的描述为您的主机设置解析这个问答

关于server_namenginx它可以作为创建监听相同 IP 和相同端口的虚拟主机的选项。区分它们的唯一方法是通过主机名解析。您可以找到有关虚拟主机的更多信息和server_name 这里

你可以尝试在firefox中写http://www.example.com:4321 您还可以检查这个问答

相关内容