V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
superfatboy
V2EX  ›  NGINX

求助各位大佬一下,一个 nginx 配置的问题,

  •  
  •   superfatboy · 2022-02-22 12:16:46 +08:00 · 1734 次点击
    这是一个创建于 1033 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以下配置是从网上抄的,只是将对应的域名,日志,证书等路径替换了一下。
    本来想配置一个 code.roudodo.top , 但是发现 www.roudodo.top 也能访问。
    唯一的区别,www 会提示证书不对,用中文 google 了一会,也没找到原因,英文也不知道搜索啥关键词,只能求助一下了。

    server {
    	listen 80;
    	server_name code.roudodo.top;
    	return 301 https://$host$request_uri;
    }
    
    server {
    	listen 443 ssl;
    	ssl on;
    	server_name code.roudodo.top;
    
    	ssl_certificate /etc/nginx/ssl/code.roudodo.top.pem;
    	ssl_certificate_key /etc/nginx/ssl/code.roudodo.top.key;
    	keepalive_timeout 70;
    
    	# 禁止在 header 中出现服务器版本,防止黑客利用版本漏洞攻击
    	server_tokens off;
    	# root /home/dong/app/myblog/public;
    	# index index.html;
    	
    	access_log /var/log/nginx/code.roudodo.top.access.log;
    	error_log /var/log/nginx/code.roudodo.top.error.log;
    
    	client_max_body_size 100m;
    	
    	location / { # 访问 80 端口后的所有路径都转发到 proxy_pass 配置的 ip 中
               	proxy_pass http://127.0.0.1:11000; # 
    		proxy_set_header Host $proxy_host; #
            	proxy_set_header X-Real-IP  $remote_addr;
            	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            	proxy_set_header X-NginX-Proxy true;
    		proxy_set_header Upgrade $http_upgrade;
    		# proxy_set_header Connection $connection_upgrade;
        	}
    }
    
    9 条回复    2022-02-22 13:36:08 +08:00
    dem0ns
        1
    dem0ns  
       2022-02-22 12:29:28 +08:00   ❤️ 1
    要是不用 www ,直接取消 www 的 dns 解析

    如果要用,就单独配置个 www 的 ssl
    ysc3839
        2
    ysc3839  
       2022-02-22 12:31:59 +08:00 via Android   ❤️ 1
    这没问题,因为你只给 nginx 443 端口上配置了一个 server ,这个 server 就会成为 default server ,其他域名的请求也都会到这个 server 上
    lindas
        3
    lindas  
       2022-02-22 12:34:15 +08:00
    www 的请求命中 nginx 第二个 443 端口的 server 了,可以再加个 server 处理这些未定义的 server_name
    lindas
        4
    lindas  
       2022-02-22 12:36:04 +08:00   ❤️ 1
    http://nginx.org/en/docs/http/request_processing.html 这篇文档有说怎么处理未定义的 server_name
    EminemW
        5
    EminemW  
       2022-02-22 12:38:30 +08:00 via iPhone   ❤️ 1
    配多一个 default server
    superfatboy
        6
    superfatboy  
    OP
       2022-02-22 12:38:51 +08:00
    @dem0ns @ysc3839 @lindas 感谢,
    JensenQian
        7
    JensenQian  
       2022-02-22 12:42:32 +08:00 via Android
    整个泛域名证书装上去
    superfatboy
        8
    superfatboy  
    OP
       2022-02-22 12:46:34 +08:00
    @JensenQian 不好意思,可能没描述清楚,本意是不让 www 访问,只允许 code 域名访问
    superfatboy
        9
    superfatboy  
    OP
       2022-02-22 13:36:08 +08:00
    搞定,一个 default server 解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2800 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 07:05 · PVG 15:05 · LAX 23:05 · JFK 02:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.