Điểm:0

Làm cách nào để sửa lỗi net::ERR_SSL_PROTOCOL_ERROR khi tôi đặt nginx trước Tomcat?

lá cờ us

Làm cách nào để sửa lỗi net::ERR_SSL_PROTOCOL_ERROR khi tôi đặt nginx trước Tomcat?


#người dùng không ai;
worker_processes 1;

#error_log nhật ký/error.log;
thông báo #error_log log/error.log;
#error_log nhật ký/thông tin error.log;

#pid log/nginx.pid;


sự kiện {
    công_nhân kết_nối 1024 ;
}


http {
    bao gồm mime.types;
    ứng dụng default_type/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"';

    nhật ký #access_log/access.log chính;

    gửi tệp trên;
    #tcp_nopush bật;

    #keepalive_timeout 0;
    keepalive_timeout 65;

    ngược dòng tomcat {
        máy chủ 127.0.0.1:8330;
    }

    bộ ký tự utf-8;



    #gzip trên;

    người phục vụ {
        nghe 8331 ;
        máy chủ_tên máy chủ cục bộ;

        # trả lại 301 https://$host$request_uri;
        #charset koi8-r;

        nhật ký #access_log/host.access.log chính;

        địa điểm / {
            # html gốc;
            # chỉ mục index.html index.htm;
            # proxy_pass http://sgmng.pluggolf.com;

            proxy_set_header Máy chủ $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-NginX-Proxy true;

            proxy_http_version 1.1;
            proxy_set_header Nâng cấp $http_upgrade;
            proxy_set_header Kết nối "Nâng cấp";
            proxy_set_header Nguồn gốc "";
            # Mới

            # Sao chép đường dẫn ngược dòng được thiết lập ở trên
            proxy_pass https://tomcat;
            # proxy_redirect tắt;
            bộ ký tự utf-8;
        }

        #lỗi_trang 404 /404.html;

        # chuyển hướng trang lỗi máy chủ sang trang tĩnh /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        vị trí = /50x.html {
            html gốc;
        }

        # ủy quyền tập lệnh PHP để nghe Apache trên 127.0.0.1:80
        #
        #vị trí ~ \.php$ {
        # proxy_pass http://127.0.0.1;
        #}

        # chuyển tập lệnh PHP tới máy chủ FastCGI đang nghe trên 127.0.0.1:9000
        #
        #vị trí ~ \.php$ {
        # html gốc;
        # fastcgi_pass 127.0.0.1:9000;
        # fastcgi_index index.php;
        # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        # bao gồm fastcgi_params;
        #}

        # từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
        # đồng tình với nginx
        #
        #vị trí ~ /\.ht {
        # Phủ nhận tất cả;
        #}
    }


    # một máy chủ ảo khác sử dụng kết hợp cấu hình dựa trên IP-, tên- và dựa trên cổng
    #
    # người phục vụ {
    # nghe 8080 ;
    # nghe somename:8080;
    # server_name somename alias other.alias;

    # địa điểm / {
    # html gốc;
    # chỉ mục index.html index.htm;
    # }
    # }


    # máy chủ HTTPS
    
    người phục vụ {
       nghe 8332 ssl;
       máy chủ_tên máy chủ cục bộ;

       bộ ký tự utf-8;

       ssl_certificate D:/service/cbdc_dt/nginx/cert/plusity.crt;
       ssl_certificate_key D:/service/cbdc_dt/nginx/cert/plusity.key;

    # ssl_session_cache được chia sẻ:SSL:1m;
    # ssl_session_timeout 5 phút;

       ssl_ciphers CAO:!aNULL:!MD5;
       bật ssl_prefer_server_ciphers;

       địa điểm / {
        # html gốc;
        # chỉ mục index.html index.htm;
        proxy_pass http://tomcat;

        proxy_set_header Máy chủ $http_host;
        proxy_set_header X-Real_IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # proxy_set_header X-Forwarded-Proto $scheme;
            # proxy_set_header X-NginX-Proxy true;

        proxy_set_header Nâng cấp $http_upgrade;
        proxy_set_header Kết nối '';
        proxy_set_header Nguồn gốc "";
        proxy_http_version 1.1;
        chunked_transfer_encoding tắt;

        tắt proxy_buffering;
        tắt proxy_cache;
        proxy_read_timeout 7d;
        proxy_redirect tắt;
        bộ ký tự utf-8;
       }
    }

}

Sau khi áp dụng ssl cho tất cả các yêu cầu đến cổng 8331 và 8332 như sau, tôi đã viết một đoạn mã chuyển hướng đến cổng 8330 của tomcat.

Tuy nhiên, vấn đề là nếu bạn truy cập 8330 thông qua nginx như thế này, NHẬN https://serverIP:8330/itf/subscribe net::ERR_SSL_PROTOCOL_ERROR lỗi xảy ra.

/itf/subscribe hoạt động bình thường khi không có nginx.

Nhưng dường như có vấn đề khi gọi từ bên trong địa chỉ của https.

Tôi tự hỏi làm thế nào tôi có thể giải quyết vấn đề đó.

Trân trọng!

Điểm:1
lá cờ us

Theo cấu hình nginx của bạn, cổng 8330 được xử lý bởi máy chủ ngược dòng của bạn (Tomcat). Nếu bạn chưa định cấu hình Tomcat để sử dụng SSL, thì bạn sẽ gặp lỗi SSL khi kết nối với nó bằng một https URL.

Với cấu hình của bạn, bạn cần kết nối với https://example.com:8332/ để sử dụng SSL. Điều này kết nối với cổng nginx được định cấu hình cho SSL và sau đó nginx ủy quyền yêu cầu tới máy chủ Tomcat.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.