Score:0

มาเข้ารหัสกันเถอะ: ใบรับรอง SSL ใช้ได้กับโดเมน แต่พอร์ตเฉพาะไม่ถูกต้อง (net::ERR_SSL_PROTOCOL_ERROR)

ธง in

ฉันใช้ VPS: Amazon EC2 และผู้ให้บริการใบรับรอง SSL: Let's Encrypt (ผ่าน Certbot)

ฉันเคยเห็นคำถามบางประเภท แต่คำตอบไม่มีประโยชน์สำหรับสถานการณ์ของฉัน ฉันมีโดเมน api.example.com ที่ได้รับการกำหนดค่าและทำงานได้อย่างสมบูรณ์บนเซิร์ฟเวอร์ Ubuntu ฉันใช้ Certbot เพื่อกำหนดค่าโดเมนด้วย HTTPS อย่างไรก็ตาม ฉันยังมีการกำหนดค่า API ให้เข้าถึงได้จากพอร์ตเฉพาะของโดเมนนั้น เช่น 8443

เมื่อฉันเข้าถึง api.example.com ฉันเห็นตัวล็อกบนเบราว์เซอร์ที่ระบุว่าไซต์นั้นปลอดภัย แต่เมื่อใดก็ตามที่ฉันพยายามเข้าถึง API ของฉัน api.example.com:8443/v1/someAPIAPI จะส่งคืนผลลัพธ์ที่เหมาะสม แต่ไม่มีไซต์ที่ปลอดภัย เนื่องจากไซต์หลักมีความปลอดภัย ในขณะที่ตำแหน่งการเข้าถึง API ไม่เป็นเช่นนั้น ฉันจึงไม่สามารถเรียก API ตามนั้นได้ ส่งผลให้ สุทธิ::ERR_SSL_PROTOCOL_ERROR.

ของฉัน ใบสมัคร คุณสมบัติ:

#ฐานข้อมูล
db.driver: com.mysql.cj.jdbc.Driver
db.url: jdbc:mysql://123.123.123.123:123/ex?serverTimeZone=UTC&useSSL=false
db.ชื่อผู้ใช้: xx
#db.รหัสผ่าน: xxx
db.password: xxxxxx
 
#ไฮเบอร์เนต
hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql: เท็จ
hibernate.hbm2ddl.auto: ตรวจสอบความถูกต้อง
hibernate.format_sql = เท็จ
entitymanager.packagesToScan: com.example

# การบีบอัดเซิร์ฟเวอร์ GZIP
server.compression.enabled: จริง
server.compression.min-response-size: 2048
ประเภท server.compression.mime: application/json,application/xml,text/html,text/xml,text/plain

#เส้นทางไฟล์
file.path: /home/ec2-user/
ไฟล์.report.path: /home/ec2-user/
jpa.repositories.enabled=false

multipart.enabled=จริง
multipart.max-file-size=50MB
multipart.max-request-size=50MB

spring.servlet.multipart.max-file-size=50MB
spring.servlet.multipart.max-request-size=50MB

# เส้นทางฐานเซิร์ฟเวอร์
base.path: https://api.example.com:8443

# ต้นกำเนิดที่จะอนุญาตคำขอจาก
ที่มา: *

#ข้อผิดพลาดการกำหนดค่าหน้า
server.error.whitelabel.enabled=false
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration

URL รายงาน:https://example.com/report/
อีเมล[email protected]
อีเมล=sales@[email protected]

# การกำหนดค่า SMTP
spring.mail.enabled=true
spring.mail.from=sales@[email protected]
##การกำหนดค่า SMTP ของ Amazon SES
spring.mail.host=email-smtp 
spring.mail.username=fsdfskfjsldfjf
spring.mail.password=ffdfsfdsfdsfsdfdsf
spring.mail.port=123

eds.users: [email protected]
eds.host: smtp.gmail.com
eds.พอร์ต: 123
eds.fromname==ตัวอย่าง

## รายละเอียด SSL
server.port:8443
security.require-ssl=true

server.ssl.key-store:classpath:abc.p12
server.ssl.key-store-password:abc
server.ssl.keyStoreType:PKCS12
server.ssl.keyAlias:abc

ฉันได้เพิ่มกฎสำหรับ 8443 ท่า [![ใส่คำอธิบายรูปภาพที่นี่][1]][1]

ฉันได้รับข้อผิดพลาดในบันทึกของเซิร์ฟเวอร์:

  . ____ _ __ _ _
 /\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \/ ___)| |_)| | | | | || (_| | ) ) ) )
  ' |____| .__|_| |_|_| |__\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: สปริงบูต :: (v2.4.1)

28-08-2021 15:47:04.463 INFO 4513 --- [ main] c.a.MarketResearcher.ApplicationWar : การเริ่มต้น ApplicationWar v0.0.1-SNAPSHOT โดยใช้ Java 1.8.0_302 บน ip-172-31-17-203.ap-south- 1.compute.internal ที่มี PID 4513 (/home/ec2-user/MarketResearcher-0.0.1-SNAPSHOT.jar เริ่มต้นโดย root ใน /home/ec2-user)
28-2021-08 15:47:04.467 INFO 4513 --- [ main] c.a.MarketResearcher.ApplicationWar : โปรไฟล์ต่อไปนี้เปิดใช้งานอยู่: prod
2021-08-28 15:47:06.924 INFO 4513 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.ws.config.annotation.DelegatingWsConfiguration' ประเภท [org.springframework.ws.config.annotation.DelegatingWsConfiguration $$EnhancerBySpringCGLIB$$b39d77f] ไม่มีสิทธิ์ได้รับการประมวลผลโดย BeanPostProcessors ทั้งหมด (เช่น ไม่มีสิทธิ์ใช้พร็อกซีอัตโนมัติ)
28-2021-08 15:47:07.008 INFO 4513 --- [ main] .w.s.a.s.AnnotationActionEndpointMapping : รองรับ [WS-Addressing สิงหาคม 2004, WS-Addressing 1.0]
28-2021-08 15:47:07.705 INFO 4513 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat เริ่มต้นด้วยพอร์ต: 8443 (https)
2021-08-28 15:47:07.729 INFO 4513 --- [ main] o.apache.catalina.core.StandardService : กำลังเริ่มบริการ [Tomcat]
28-2021-08 15:47:07.730 INFO 4513 --- [ main] org.apache.catalina.core.StandardEngine : การเริ่ม Servlet engine: [Apache Tomcat/9.0.41]
2021-08-28 15:47:07.852 INFO 4513 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : การเริ่มต้น Spring ที่ฝัง WebApplicationContext
28-2021-08 15:47:07.852 INFO 4513 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: การเริ่มต้นเสร็จสมบูรณ์ใน 3164 ms
2021-08-28 15:47:08.432 INFO 4513 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core รุ่น 5.4.25.Final
2021-08-28 15:47:08.894 INFO 4513 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
28-2021-08 15:47:09.462 INFO 4513 --- [ main] org.hibernate.dialect.Dialect : HHH000400: การใช้ dialect: org.hibernate.dialect.MySQL5Dialect
28-2021-08 15:47:09.613 INFO 4513 --- [ main] o.h.e.boot.internal.EnversServiceImpl : เปิดใช้งานการรวม Envers แล้ว? : จริง
2021-08-28 15:47:12.758 INFO 4513 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: การใช้ JtaPlatform การใช้งาน: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
28-08-2021 15:47:13.322 INFO 4513 --- [ main] oss.concurrent.ThreadPoolTaskExecutor : กำลังเริ่มต้น ExecutorService 'applicationTaskExecutor'
2021-08-28 15:47:15.192 INFO 4513 --- [ main] os.b.w.embedded.tomcat.TomcatWebServer : Tomcat เริ่มต้นที่พอร์ต: 8443 (https) พร้อมพาธบริบท ''
28-08-2021 15:47:15.223 INFO 4513 --- [ main] c.a.MarketResearcher.ApplicationWar : เริ่ม ApplicationWar ใน 11.771 วินาที (JVM ทำงานเป็นเวลา 12.677)
28-08-2021 15:52:41.387 INFO 4513 --- [nio-8443-exec-6] o.a.c.c.C.[Tomcat].[localhost].[/] : กำลังเริ่มต้น Spring DispatcherServlet 'dispatcherServlet'
28-08-2021 15:52:41.388 INFO 4513 --- [nio-8443-exec-6] os.web.servlet.DispatcherServlet : กำลังเตรียมใช้งาน Servlet 'dispatcherServlet'
28-2021-08 15:52:41.390 INFO 4513 --- [nio-8443-exec-6] os.web.servlet.DispatcherServlet : การเริ่มต้นเสร็จสมบูรณ์ใน 2 ms
2021-08-28 16:06:33.275 คำเตือน 4513 --- [nio-8443-exec-4] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-2021-08 16:06:33.391 คำเตือน 4513 --- [nio-8443-exec-4] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-08-2021 16:06:33.683 คำเตือน 4513 --- [nio-8443-exec-4] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
2021-08-28 16:06:33.738 คำเตือน 4513 --- [nio-8443-exec-1] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-08-2021 16:06:33.739 คำเตือน 4513 --- [nio-8443-exec-3] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-08-2021 16:06:33.747 คำเตือน 4513 --- [io-8443-exec-10] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-08-2021 16:06:33.845 คำเตือน 4513 --- [nio-8443-exec-5] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
2021-08-28 16:06:33.866 WARN 4513 --- [nio-8443-exec-2] org.hibernate.orm.deprecation : HHH90000022: org.hibernate.Criteria API ดั้งเดิมของไฮเบอร์เนตเลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
28-08-2021 16:06:34.021 คำเตือน 4513 --- [nio-8443-exec-7] org.hibernate.orm.deprecation : HHH90000022: มรดกของ Hibernate org.hibernate.Criteria API เลิกใช้แล้ว ใช้ JPA javax.persistence.criteria.CriteriaQuery แทน
2021-08-5 19:08:38.141 INFO 4513 --- [nio-8443-exec-5] o.apache.coyote.http11.Http11Processor : เกิดข้อผิดพลาดในการแยกวิเคราะห์ส่วนหัวคำขอ HTTP
 หมายเหตุ: ข้อผิดพลาดในการแยกวิเคราะห์คำขอ HTTP เพิ่มเติมจะถูกบันทึกที่ระดับ DEBUG

java.lang.IllegalArgumentException: พบอักขระที่ไม่ถูกต้องในโปรโตคอล HTTP [RTSP/1.00x0d0x0a0x0d...]
    ที่ org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:559) ~[tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:261) ~[tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) [tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) [tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_302]
    ที่ java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_302]
    ที่ org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.41.jar!/:9.0.41]
    ที่ java.lang.Thread.run(Thread.java:748) [na:1.8.0_302]
Steffen Ullrich avatar
se flag
ใบรับรองไม่เฉพาะเจาะจงสำหรับพอร์ต เซิร์ฟเวอร์ที่ใช้งานได้ที่พอร์ต HTTPS มาตรฐาน 443 และเซิร์ฟเวอร์ที่ใช้งานไม่ได้บนพอร์ต 8443 เป็นเซิร์ฟเวอร์ที่แตกต่างกันซึ่งมีการกำหนดค่าต่างกัน ปัญหาอยู่ในการกำหนดค่าของเซิร์ฟเวอร์ที่พอร์ต 8443น่าเสียดายที่การกำหนดค่าที่แสดงไม่ได้ให้รายละเอียดที่เพียงพอเกี่ยวกับเซิร์ฟเวอร์นี้ โดยเฉพาะที่ไม่เกี่ยวกับใบรับรองที่ให้บริการ ยังไม่ชัดเจนว่าเข้าถึงเซิร์ฟเวอร์ได้อย่างไร - `api.example.com:8443/v1/someAPI` เป็น URL ที่ไม่สมบูรณ์ซึ่งไม่มีโปรโตคอล (`http://` เทียบกับ `https://`)
Ragesh Pikalmunde avatar
in flag
@SteffenUllrich `https://api.marketsresearcher.biz:8443/v1/read-news` นี่คือ API ของฉันที่ฉันใช้ หากคุณพยายามเข้าถึงเบราว์เซอร์ `https://api.marketsresearcher.biz` จะแสดงใบรับรองที่ถูกต้อง แต่เมื่อฉันพยายามเข้าถึง API มันทำให้ฉันมี `net::ERR_SSL_PROTOCOL_ERROR`
Steffen Ullrich avatar
se flag
ฉันได้รับ "การเชื่อมต่อถูกปฏิเสธ" เมื่อพยายามเข้าถึง API บนพอร์ต 8443 ซึ่งหมายความว่าอาจมีกฎไฟร์วอลล์ที่ป้องกันการเข้าถึงพอร์ตนี้จากภายนอก โปรดทราบว่าวิธีทั่วไปในการเปิดเผย API ไม่ใช่การเปิดเผยเซิร์ฟเวอร์ API บนพอร์ตอื่น แต่เป็นการย้อนกลับพร็อกซีเส้นทาง API ไปยังเซิร์ฟเวอร์ API ภายในโดยใช้เว็บเซิร์ฟเวอร์ปกติ
Ragesh Pikalmunde avatar
in flag
@SteffenUllrich ฉันได้เพิ่มรูปภาพในคำถาม ฉันได้เพิ่มกฎในกลุ่มความปลอดภัย AWS สำหรับพอร์ต 8443 ฉันต้องทำอะไรเพิ่มเติมหรือไม่
Ragesh Pikalmunde avatar
in flag
@SteffenUllrich ฉันได้รับบันทึกจากเซิร์ฟเวอร์และเกิดข้อผิดพลาด: `java.lang.IllegalArgumentException: พบอักขระที่ไม่ถูกต้องในโปรโตคอล HTTP [RTSP/1.00x0d0x0a0x0d...]` ความคิดใดที่จะแก้ไขปัญหานี้บนเซิร์ฟเวอร์
Steffen Ullrich avatar
se flag
ความคิดเห็นล่าสุดของคุณทั้งสองดูเหมือนปัญหาที่แตกต่างไปจากที่คุณถามในตอนแรกอย่างสิ้นเชิง โปรดอย่าทำให้คำถามของคุณเป็นเป้าหมายที่เคลื่อนไหว แต่สร้างคำถามใหม่ที่มีรายละเอียดเพียงพอสำหรับปัญหาใหม่
Ragesh Pikalmunde avatar
in flag
@SteffenUllrich ฉันได้อัปเดตคำถามแล้ว
Steffen Ullrich avatar
se flag
ตามเอาต์พุตไม่มีการส่งคำขอ HTTP ไปยัง API แต่เป็นคำขอ RTSP เช่น สิ่งที่ใช้ในการสตรีมตามเวลาจริง ไม่รู้ว่าคุณกำลังทำอะไรในฝั่งไคลเอ็นต์เพื่อทำให้เกิดสิ่งนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา