Ủy Ngược

« tiếng Việt »

cập nhật: 2023-04-24

Có rất nhiều cách để thiết lập và ủy ngược là không bắt buộc. Nhưng với đa số trường hợp thì tôi khuyến nghị bạn nên dùng nếu đã có sẵn website. Dưới đây là một trường hợp phổ biến…

Giả dụ bạn đang chạy https://chat.example.net ở cổng 443 và bạn muốn dâng một dịch vụ WebCC ở https://chat.exampl.net/wecc trên cùng một máy với « Apache » hầu web, bạn có thể cấu hình tương tự như sau:

    
    <IfModule mod_ssl.c>
    <VirtualHost *:443> 
        ServerName chat.example.net
        DocumentRoot /some/where/chat.example.net

        Include /your/certificate/options.config
        SSLCertificateFile /your/certificate/chat.example.net/fullchain.pem
        SSLCertificateKeyFile /your/certificate/chat.example.net/key.pem

        <IfModule mod_proxy.c>
            ProxyPass /webcc "ws://localhost:7681/webcc"
            ProxyPassReverse /webcc "ws://localhost:7681/webcc"

            Header always set Content-Security-Policy "default-src 'self' ; style-src 'unsafe-inline' 'self' *.example.net ; script-src 'unsafe-inline' 'self' *.example.net ; object-src 'none' ; img-src 'self' *.example.net ; frame-src 'self' *.example.net ; font-src 'self' *.example.net ; frame-ancestors 'self' https://example.net ; base-uri 'self' ; form-action 'self' ;"
        </IfModule>

    </VirtualHost>
    </IfModule>
    

Với nội dung trên, bạn sẽ cần cho ttyd nghe tín hiệu từ cổng 7681. Kết nối sẽ sử dụng mô-đun websocket nên bạn sẽ cần mở nó lên trong Apache:


    a2enmod wstunnel     

Cái dòng Content-Security-Policy dài lòng thòng là cần thiết để ngăn chặn vô số dạng tấn công. Tiêu biểu là frame-ancestor sẽ không cho các trang mạng khác dùng tài nguyên của bạn. Nghĩa là nó chỉ cho phép https://example.net nhúng https://chat.example.net/webcc vào trong mác <iframe> thôi.

Tôi nhiệt liệt khuyến khích bạn tìm hiểu thêm các tài liệu khác để bảo vệ các dịch vụ của mình.

«« Hệ Kích Hoạt