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://localhost: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에 적용되는 이유는 무엇인가요? Firefox에는 왜 안되나요?

감사해요.

답변1

내가 설명한 대로 호스트에 대한 구문 분석을 설정해야 합니다.이 Q&A

About server_name: nginx동일한 IP, 동일한 포트를 수신하는 가상 호스트를 생성하는 옵션으로 제공됩니다. 이들을 구별하는 유일한 방법은 호스트 이름 확인을 통해서입니다. 웹호스팅에 대한 자세한 내용을 확인할 수 있으며,server_name 여기

Firefox에서 작성해 볼 수 있습니다.http://www.example.com:4321 당신은 또한 확인할 수 있습니다이 Q&A

관련 정보