การกำหนดค่า Reverse SSL เป็น SSL Proxy (ควรใช้ Squid หรือ Apache)


1

ฉันพยายามพร็อกซีย้อนกลับและเปิดใช้งานในช่วงสองสามชั่วโมงที่ผ่านมาสำหรับแอปพลิเคชันที่ตอนนี้ต้องสามารถเข้าถึงได้แบบสาธารณะ

สำหรับปัญหาด้านความปลอดภัยและผู้ให้บริการ - บล็อก - พอร์ต -80 แอปพลิเคชันสามารถเข้าถึงได้โดย https เท่านั้น ฉันรู้ว่าสิ่งนี้สามารถทำได้ด้วย apache หรือ squid (ในหมู่อื่น ๆ ) ฉันลองทั้งสองอย่างแล้วและล้มเหลว

เครือข่ายปัจจุบันมีการตั้งค่าดังนี้:

gateway.mydomain.com เป็นเกตเวย์ บนเกตเวย์ apache ได้รับการกำหนดค่าไว้แล้วด้วย ssl vhost ที่เป็นค่าเริ่มต้นและ squid จะทำงานเป็นพร็อกซีการส่งต่อปกติ

แอปพลิเคชันบนเครือข่ายท้องถิ่นhttps://application.mydomain.comมีการตั้งค่าและเข้าถึงได้ตามที่คาดหวังในเครื่อง

นี่คือการกำหนดค่าที่ฉันพยายามปลาหมึกที่ด้านบนของปลาหมึก conf ฉันได้เพิ่มคำสั่งรวมถึง/etc/squid/application.conf:

application.conf:

https_port 443 cert=/etc/pki/tls/certs/localhost.crt key=/etc/pki/tls/private/localhost.key defaultsite=application.mydomain.com vhost

# HTTPS peer
cache_peer https://application.mydomain.com parent 443 0 no-query originserver ssl    sslflags=DONT_VERIFY_PEER name=application
cache_mgr root
visible_hostname application.mydomain.com
http_port 443 accel defaultsite=application.mydomain.com
acl all src 0.0.0.0/0.0.0.0

วิธีการนี้ล้มเหลวและให้ข้อผิดพลาดดังต่อไปนี้:

SSL connection error Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have. Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

จากนั้นฉันก็ลองด้วย apache เนื่องจากฉันต้องการให้เกตเวย์รับฟังบนพอร์ต https มาตรฐาน 443 การกำหนดค่า squid จะไม่ทำงานเมื่อ apache กำลังฟังบน 443 ซึ่งเป็น apache vhost ที่เป็นค่าเริ่มต้น

นี่คือสิ่งที่ฉันลองด้วย apache:

ssl.conf หลังจาก vhost เริ่มต้น

NameVirtualHost application.mydomain.com:443
<VirtualHost application.mydomain.com:443>
         ServerName application.mydomain.com
         LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
         CustomLog /var/log/httpd/application_log combined
         LogLevel Debug

        SSLProxyEngine On
        SSLCertificateFile /etc/pki/tls/certs/localhost.crt
        SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

        SSLProtocol all -SSLv2
        SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW

      # RewriteEngine on
      # RewriteRule ^/$ /index.html [R]

       ProxyRequests off

       ProxyPass / https://application.mydomain.com
       ProxyPassReverse / https://application.mydomain.com
</VirtualHost>

นี่จะเป็นวิธีที่ฉันชอบในการทำแอพทั้งหมดจะทำงานบนพอร์ต 443 แต่ด้วยการตั้งค่านี้ไม่ว่าฉันจะลองใช้ vhost เริ่มต้นจะเป็นแอปที่ให้บริการเสมอ

หากใครมีเงื่อนงำสำหรับปลาหมึกหรืออาปาเช่ฉันก็จะขอบคุณมากที่สุด


2
ฉันคิดว่าคุณต้องเพิ่ม SSLProxyEngine on และ SSLEngine ในคำสั่งของคุณ apache conf นอกจากนี้คุณได้โหลด mod_proxy, mod_proxy_http และ mod_ssl หรือไม่ นอกจากนี้คุณต้องการพร็อกซี "อนุญาต" ชุดคำสั่งเช่น <Proxy site.com:443 > \ n สั่งปฏิเสธ, อนุญาต \ n อนุญาตจาก </proxy> ทั้งหมดหรือไม่
davidgo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.