如何配置nginx同一IP同一端口监听不同网站?

配置nginx同一IP同一端口监听不同网站。网站上很多方法都尝试过了。
网站分别监听80端口跟443端口都可以。将配置写在一起就不能访问。访问80端口会出现一个下载对话框
访问443端口就只有第一个网站显示正确,访问第二个网站时候会提示证书错误然后转到第一个网站。

user nginx;
worker_processes auto;
error_log /usr/local/www/logs/nginx_error.log;
pid /run/nginx.pid;


include /usr/share/nginx/modules/*.conf;

events {
    use epoll;
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /usr/local/www/logs/nginx.log main;


    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    server_tokens off;
    send_timeout 120;
    client_max_body_size 20M;
    uwsgi_read_timeout 86400;
    uwsgi_send_timeout 86400;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
server {
        listen      80 ;
        listen       [::]:80 ;
        server_name  www.10mail.me,10mail.me;
             root /usr/local/www/10mail;

        charset utf-8;


        # Load configuration files for the default server block.
    #    include /etc/nginx/default.d/*.conf;
        location / {
        proxy_pass    http://127.0.0.1:2222;

        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
   }



  server {
        listen       443 ssl ;
        listen       [::]:443 ssl ;
        server_name  www.10mail.me,10mail.me;
        root /usr/local/www/10mail;
        ssl_certificate "/usr/local/www/crt/star.10mail.me_crt.txt";
        ssl_certificate_key "/usr/local/www/crt/star.10mail.me_key.txt";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
        ssl_prefer_server_ciphers on;

     #   include /etc/nginx/default.d/*.conf;
#
        location / {

                proxy_pass http://127.0.0.1:2222;


        }
#
        error_page 404 /404.html;
            location = /40x.html {
        }
#
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }

}
server {
        listen       80 http2;
        listen       [::]:80 http2;
        server_name  www.abcpython.com,abcpython.com;
         root /usr/local/www/abcpython;


        charset utf-8;
      #  include /etc/nginx/default.d/*.conf;
        location / {

                uwsgi_pass 127.0.0.1:8080;
                include /etc/nginx/uwsgi_params;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;

        server_name  www.abcpython.com,abcpython.com;
        root /usr/local/www/abcpython;
        ssl_certificate "/usr/local/www/crt/star.abcpython.com_crt.txt";
        ssl_certificate_key "/usr/local/www/crt/star.abcpython.com_key.txt";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
        ssl_prefer_server_ciphers on;

       # include /etc/nginx/default.d/*.conf;

        location / {
                uwsgi_pass 127.0.0.1:8080;
                include /etc/nginx/uwsgi_params;

             #proxy_pass http://127.0.0.1:8080;
阅读 3.9k
1 个回答

按照nginx官网的说明server_name中的多个域名应该以空格分隔,而不应该以逗号分隔。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题