白小白··· 2023-12-15 16:27 采纳率: 50%
浏览 9
已结题

nginx,单个域名配置多个端口

项目需要单个域名配置多个端口,需要配置nginx.conf,帮忙看一下,应该怎么修改

实例:www.aaaa.com/hello.php     www.aaaa.com:8080/hello1.php

现有配置文件如下


user  nginx;
worker_processes  2;

worker_rlimit_nofile 51200;

events {
    worker_connections  51200;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    charset utf-8;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 300m;


    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;
    tcp_nodelay on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 2 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;


    gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 4;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    gzip_vary on;
    gzip_disable "MSIE [1-6].";

    server {
        listen       443 ssl;
        server_name  XXXXX.com;

        if ($host != 'XXXXX.com'){
          return 403;
        }

        root        /html/XXXXX;

        access_log  /usr/local/nginx/logs/access_www.log  main;
        error_log   /usr/local/nginx/logs/error_www.log  warn;


        ssl_certificate /usr/local/nginx/aaa/XXXXX.com.pem;
        ssl_certificate_key /usr/local/nginx/aaa/XXXXX.com.key;

        ssl_session_timeout 5m;
        ssl_buffer_size 4k;
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1.2 TLSv1.3; # 最低支持1.2 协议配置
        #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE;

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Headers' '*';
        add_header 'Access-Control-Allow-Methods' '*';
        # OPTIONS 直接返回204
        if ($request_method = 'OPTIONS') {
                 return 204;
        }

        location / {
            index  index.html index.htm index.php;

           # try_files  /index.php =404;

            #HTTP X-Content-Type-Options缺失
            add_header X-Content-Type-Options "nosniff";
            #HTTP X-Download-Options缺失
            add_header X-Download-Options "noopen";
            #HTTP X-Permitted-Cross-Domain-Policies缺失
            add_header X-Permitted-Cross-Domain-Policies 'none';
            #HTTP X-XSS-Protection缺失
            add_header X-XSS-Protection "1";
            #X-Frame-Options Header未配置
            add_header X-Frame-Options SAMEORIGIN;
            #HTTP Content-Security-Policy缺失
            add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";

        }

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


        location ~ \.php(.*)$ {
            fastcgi_intercept_errors on;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            include fastcgi_params;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_index  index.php;
        }
    }

    server {
        listen 80;
        server_name XXXXX.com;
        #expires     7d;
        rewrite ^(.*)$ https://$host$1;
        location / {
            index index.html index.htm index.php;
            #try_files  /index.php =404;
        }
    }

}

  • 写回答

6条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2023-12-15 16:28
    关注
    
     
    user  nginx;
    worker_processes  2;
     
    worker_rlimit_nofile 51200;
     
    events {
        worker_connections  51200;
    }
     
     
    http {
        include       mime.types;
        default_type  application/octet-stream;
     
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        charset utf-8;
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 300m;
     
     
        sendfile        on;
        tcp_nopush     on;
        keepalive_timeout  65;
        tcp_nodelay on;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 2 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
     
     
        gzip  on;
        gzip_min_length 1k;
        gzip_buffers 4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 4;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
        gzip_vary on;
        gzip_disable "MSIE [1-6].";
     
        server {
            listen       443 ssl;
            server_name  XXXXX.com;
     
            if ($host != 'XXXXX.com'){
              return 403;
            }
     
            root        /html/XXXXX;
     
            access_log  /usr/local/nginx/logs/access_www.log  main;
            error_log   /usr/local/nginx/logs/error_www.log  warn;
     
     
            ssl_certificate /usr/local/nginx/aaa/XXXXX.com.pem;
            ssl_certificate_key /usr/local/nginx/aaa/XXXXX.com.key;
     
            ssl_session_timeout 5m;
            ssl_buffer_size 4k;
            ssl_prefer_server_ciphers on;
            ssl_protocols TLSv1.2 TLSv1.3; # 最低支持1.2 协议配置
            #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE;
     
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Headers' '*';
            add_header 'Access-Control-Allow-Methods' '*';
            # OPTIONS 直接返回204
            if ($request_method = 'OPTIONS') {
                     return 204;
            }
     
            location / {
                index  index.html index.htm index.php;
     
               # try_files  /index.php =404;
     
                #HTTP X-Content-Type-Options缺失
                add_header X-Content-Type-Options "nosniff";
                #HTTP X-Download-Options缺失
                add_header X-Download-Options "noopen";
                #HTTP X-Permitted-Cross-Domain-Policies缺失
                add_header X-Permitted-Cross-Domain-Policies 'none';
                #HTTP X-XSS-Protection缺失
                add_header X-XSS-Protection "1";
                #X-Frame-Options Header未配置
                add_header X-Frame-Options SAMEORIGIN;
                #HTTP Content-Security-Policy缺失
                add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
     
            }
     
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            location ~ \.php(.*)$ {
                fastcgi_intercept_errors on;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_index  index.php;
            }
        }
     
        server {
            listen 80;
            server_name XXXXX.com;
            #expires     7d;
            rewrite ^(.*)$ https://$host$1;
            location / {
                index index.html index.htm index.php;
                #try_files  /index.php =404;
            }
        }
     
    #这里是根据你的要求8080端口
    server {
            listen      8080 ssl;
            server_name  XXXXX.com;
     
            if ($host != 'XXXXX.com'){
              return 403;
            }
     
            root        /html/XXXXX;
     
            access_log  /usr/local/nginx/logs/access_www.log  main;
            error_log   /usr/local/nginx/logs/error_www.log  warn;
     
     
            ssl_certificate /usr/local/nginx/aaa/XXXXX.com.pem;
            ssl_certificate_key /usr/local/nginx/aaa/XXXXX.com.key;
     
            ssl_session_timeout 5m;
            ssl_buffer_size 4k;
            ssl_prefer_server_ciphers on;
            ssl_protocols TLSv1.2 TLSv1.3; # 最低支持1.2 协议配置
            #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE;
     
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Headers' '*';
            add_header 'Access-Control-Allow-Methods' '*';
            # OPTIONS 直接返回204
            if ($request_method = 'OPTIONS') {
                     return 204;
            }
     
            location / {
                index  index.html index.htm index.php;
     
               # try_files  /index.php =404;
     
                #HTTP X-Content-Type-Options缺失
                add_header X-Content-Type-Options "nosniff";
                #HTTP X-Download-Options缺失
                add_header X-Download-Options "noopen";
                #HTTP X-Permitted-Cross-Domain-Policies缺失
                add_header X-Permitted-Cross-Domain-Policies 'none';
                #HTTP X-XSS-Protection缺失
                add_header X-XSS-Protection "1";
                #X-Frame-Options Header未配置
                add_header X-Frame-Options SAMEORIGIN;
                #HTTP Content-Security-Policy缺失
                add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
     
            }
     
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
            location ~ \.php(.*)$ {
                fastcgi_intercept_errors on;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_index  index.php;
            }
        }
    }
     
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月16日
  • 创建了问题 12月15日