Score:0

Apache Web Server พอร์ต 433 และ Tomcat พอร์ต 8080 การเปลี่ยนเส้นทางไม่ทำงาน

ธง in

เว็บเซิร์ฟเวอร์ Apache ของฉันทำงานบนพอร์ต 433 ด้วยโปรโตคอล httpsฉันต้องการเรียกใช้ Tomcat บนพอร์ต 8080 เพราะไม่ต้องการการเข้ารหัสเพิ่มเติม Tomcat อยู่ในเครื่องเดียวกัน ดังนั้นฉันจึงไม่ต้องการพอร์ต 8433 แต่เมื่อฉันส่งต่อทราฟฟิกจาก 433 เป็น 8080 ผ่าน iptables แต่ฉันพบข้อผิดพลาด: ไซต์นี้ไม่สามารถให้การเชื่อมต่อที่ปลอดภัยได้

ERR_SSL_PROTOCOL_ERROR

ฉันต้องการการกำหนดค่าอะไรใน Tomcat server.xml และ apache.conf เพื่อให้ใช้งานได้

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               URIEncoding="UTF-8"
               redirectPort="8443" />
    
    <!-- A "Connector" using the shared thread pool-->
    
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!-- I've tried this before when I thought I need an SSL for Tomcat. I think it's irrelevant now -->
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                         certificateFile="conf/localhost-rsa-cert.pem"
                         certificateChainFile="conf/localhost-rsa-chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

ใน httpd.conf

<โฮสต์เสมือน *:80>
     ServerAdmin root@localhost
     รูทเอกสาร "/var/www/html"
     DirectoryIndex index.html
     ชื่อเซิร์ฟเวอร์ mydomain.zone
     บันทึกข้อผิดพลาด "/var/log/httpd/mydomain.zone.error_log"
     CustomLog "/var/log/httpd/mydomain.zone.access_log" ทั่วไป
RewriteEngine เปิดอยู่
RewriteCond %{SERVER_NAME} =mydomain.zone
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=ถาวร]
</เวอร์ชวลโฮสต์>
รวม /etc/httpd/conf/httpd-le-ssl.conf

แก้ไข: ฉันได้ลองตามที่แนะนำแล้วด้วย ProxyPass "/" "http://mydomain.zone:8080/" และ ProxyPassReverse "/" "http://mydomain.zone:8080/". ยังคงเป็นประเด็นเดียวกัน

ฉันสงสัยว่ามีหรือไม่ iptables กฎที่ฉันใช้ก่อนหน้านี้ แต่ดูเหมือนว่าจะไม่เป็นเช่นนั้น นี่คือกฎ iptables ที่ใช้งานอยู่ในปัจจุบัน:

-P อินพุตยอมรับ
-P ยอมรับไปข้างหน้า
-P เอาต์พุตยอมรับ
-N FORWARD_IN_ZONES
-N FORWARD_IN_ZONES_SOURCE
-N FORWARD_OUT_ZONES
-N FORWARD_OUT_ZONES_SOURCE
-N FORWARD_direct
-N FWDI_trusted
-N FWDI_trusted_allow
-N FWDI_trusted_deny
-N FWDI_trusted_log
-N FWDO_trusted
-N FWDO_trusted_allow
-N FWDO_trusted_deny
-N FWDO_trusted_log
-N INPUT_ZONES
-N INPUT_ZONES_SOURCE
-N INPUT_direct
-N IN_trusted
-N IN_trusted_allow
-N IN_trusted_deny
-N IN_trusted_log
-N OUTPUT_direct
-A INPUT -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A อินพุต -i lo -j ยอมรับ
-A อินพุต -j INPUT_direct
-A อินพุต -j INPUT_ZONES_SOURCE
-A อินพุต -j INPUT_ZONES
-A INPUT -m conntrack --ctstate ไม่ถูกต้อง -j DROP
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -m conntrack --ctstate ที่เกี่ยวข้อง ก่อตั้ง -j ยอมรับ
-A FORWARD -i lo -j ยอมรับ
-A ส่งต่อ -j FORWARD_direct
-A FORWARD -j FORWARD_IN_ZONES_SOURCE
-A ไปข้างหน้า -j FORWARD_IN_ZONES
-A FORWARD -j FORWARD_OUT_ZONES_SOURCE
-A ไปข้างหน้า -j FORWARD_OUT_ZONES
-A FORWARD -m conntrack --ctstate ไม่ถูกต้อง -j DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -o lo -j ยอมรับ
-A OUTPUT -j OUTPUT_direct
-A FORWARD_IN_ZONES -i eth0 -g FWDI_trusted
-A FORWARD_IN_ZONES -g FWDI_trusted
-A FORWARD_OUT_ZONES -o eth0 -g FWDO_trusted
-A FORWARD_OUT_ZONES -g FWDO_trusted
-A FWDI_trusted -j FWDI_trusted_log
-A FWDI_trusted -j FWDI_trusted_deny
-A FWDI_trusted -j FWDI_trusted_allow
-A FWDI_trusted -j ยอมรับ
-A FWDO_trusted -j FWDO_trusted_log
-A FWDO_trusted -j FWDO_trusted_deny
-A FWDO_trusted -j FWDO_trusted_allow
-A FWDO_trusted -j ยอมรับ
-A INPUT_ZONES -i eth0 -g IN_trusted
-A INPUT_ZONES -g IN_trusted
-A IN_trusted -j IN_trusted_log
-A IN_trusted -j IN_trusted_deny
-A IN_trusted -j IN_trusted_allow
-A IN_trusted -j ยอมรับ
Score:1
ธง ph

ใช้ proxy pass แทนการใช้ iptables ในการส่งต่อพอร์ต

LosmiNCL avatar
in flag
ฉันได้ลบกฎ iptables และฉันได้แทรก: `พร็อกซีพาส / http://www.mydomain.zone:8080 ProxyPassReverse / http://www.mydomain.zone:8080` ตอนนี้ฉันมีข้อผิดพลาด: บริการไม่พร้อมใช้งาน เซิร์ฟเวอร์ไม่สามารถให้บริการตามคำขอของคุณได้ชั่วคราวเนื่องจากปัญหาการหยุดทำงานของการบำรุงรักษาหรือความจุ กรุณาลองใหม่อีกครั้งในภายหลัง. (Tomcat กำลังทำงาน ฉันตรวจสอบแล้ว และ Apache เริ่มต้นใหม่) คุณช่วยตอบแบบละเอียดกว่านี้ได้ไหม
Damn devil avatar
ph flag
ProxyPass "/" "http://www.example.com/" ProxyPassReverse "/" "http://www.example.com/"
Score:0
ธง ph

ProxyPass "/" "http://www.example.com/" ProxyPassReverse "/" "http://www.example.com/"

แก้ไข proxypass ของคุณตามที่กล่าวไว้ข้างต้น

LosmiNCL avatar
in flag
ฉันเขียนสิ่งนี้ใน conf/httpd.conf มันไม่ทำงาน บางทีฉันควรเขียนใน conf/httpd-le-ssl.conf หรือใน conf.d/ssl.conf?
Damn devil avatar
ph flag
**ProxyPass "/" "https://www.example.com/" ProxyPassReverse "/" "https://www.example.com/"** ใช้สิ่งนี้เนื่องจากเป็นพอร์ตการเชื่อมต่อที่ปลอดภัยที่คุณพยายามเข้าถึง . เช่น ใช้ https แทน http

โพสต์คำตอบ

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