Score:0

apache2 vnc proxy ถึง proxmox (พร้อมแอปพลิเคชัน php ระดับกลาง)

ธง mx

เขามีแอปพลิเคชัน php ที่เข้าถึง proxmox และแสดงคอนโซล vnc โดยแบ่งปันโทเค็น นี่อยู่ในเซิร์ฟเวอร์ apache2 เราพยายามพร็อกซีคำขอ vnc ที่อยู่เบื้องหลัง apache ดังนั้นผู้ใช้ปลายทางไม่สามารถเข้าถึง proxmox ได้โดยตรง ปัญหาตามบันทึกที่ไม่มีตัวจัดการสำหรับ apache:

AH01144: ไม่มีตัวจัดการโปรโตคอลที่ถูกต้องสำหรับ URL /api2/json/nodes/server/qemu/vmid/vncwebsocket (แบบแผน 'wss') หากคุณใช้ mod_proxy เวอร์ชัน DSO ตรวจสอบให้แน่ใจว่าได้รวมโมดูลย่อยพร็อกซีไว้ในการกำหนดค่าโดยใช้ LoadModule

ปัญหาของฉันคือโหลดโมดูลและเซิร์ฟเวอร์รีสตาร์ทแล้ว:

root@server-01:~# apache2ctl -M
โหลดโมดูล:
core_module (คงที่)
so_module (คงที่)
watchdog_module (คงที่)
http_module (คงที่)
log_config_module (คงที่)
logio_module (คงที่)
version_module (คงที่) 
unixd_module (คงที่)
access_compat_module (แชร์)
alias_module (แชร์)
auth_basic_module (แชร์)
authn_core_module (แชร์)
authn_file_module (แชร์)
authz_core_module (แชร์)
authz_host_module (แชร์)
authz_user_module (แชร์)
autoindex_module (แชร์)
deflate_module (ใช้ร่วมกัน)
dir_module (แชร์)
dumpio_module (แชร์)
env_module (แชร์)
filter_module (แชร์)
mime_module (แชร์)
mpm_prefork_module (แชร์)
โมดูลการเจรจาต่อรอง (ใช้ร่วมกัน)
php7_module (แชร์)
proxy_module (แชร์)
proxy_ajp_module (แชร์)
proxy_balancer_module (แชร์)
proxy_http_module (แชร์)
proxy_wstunnel_module (แชร์)
reqtimeout_module (แชร์)
rewrite_module (แชร์)
setenvif_module (แชร์)
slotmem_shm_module (แชร์)
socache_shmcb_module (แชร์)
ssl_module (แชร์)
status_module (แชร์)

การดำเนินการเป็นไปตามคำแนะนำต่อไปนี้: https://forum.proxmox.com/threads/working-novnc-with-reverse-proxy-on-5-1.43644/

การกำหนดค่า apache สำหรับการพร็อกซีไปยัง proxmox คือ:

root@server01:~# cat /etc/apache2/sites-enabled/proxy-ssl.conf
<IfModule mod_ssl.c>
    <โฮสต์เสมือน _default_:443>
            ชื่อเซิร์ฟเวอร์ app01-proxy
            ServerAdmin webmaster@localhost
            SSLProxyEngine เปิดอยู่
            LogLevel dumpio:trace7
            DumpIOInput บน
            เปิด DumpIOOutput
            <สถานที่ />
                    ProxyPass https://proxmoxserver:8006/
                    ProxyPassReverse https://proxmoxserver:8006/
             </สถานที่>

            <LocationMatch ^/(api2/json/nodes/[^\/]+/[^\/]+/[^\/]+/vncwebsocket.*)$>
                    ProxyPass wss://proxmoxserver:8006/$1 ลองใหม่=0
            </LocationMatch>

            <ตำแหน่ง /websockify>
                    ProxyPass ws://proxmoxserver:8006/
                    ProxyPassReverse ws://proxmoxserver:8006/
            </สถานที่>

            บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log รวมกัน

            SSLEngine เปิดอยู่
            SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <ไดเรกทอรี /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </ไดเร็กทอรี>

    </เวอร์ชวลโฮสต์>

และการกำหนดค่าอื่น ๆ สำหรับแอปพลิเคชันในเครื่อง:

root@server-01:~# cat /etc/apache2/sites-enabled/console-ssl.conf
<IfModule mod_ssl.c>
    <โฮสต์เสมือน _default_:443>
            ชื่อเซิร์ฟเวอร์ app01
            ServerAdmin webmaster@localhost
            DocumentRoot /var/www/html/hyper-controller/public
<ไดเรกทอรี /var/www/html/hyper-controller/public>
        ดัชนีตัวเลือก FollowSymLinks MultiViews
        AllowOverride ทั้งหมด
        คำสั่งอนุญาตปฏิเสธ
        อนุญาตจากทั้งหมด
        ต้องได้รับอนุญาตทั้งหมด
  </ไดเร็กทอรี>
            บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log รวมกัน
            SSLEngine เปิดอยู่
            SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <ไดเรกทอรี /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </ไดเร็กทอรี>
เปิด php_flag log_errors
เปิด php_flag display_errors
php_value error_reporting 2147483647
php_value error_log /var/log/php.error.log
</เวอร์ชวลโฮสต์>
</หากโมดูล>

ข้อผิดพลาดที่เกิดขึ้นในระดับเบราว์เซอร์คือ: ข้อผิดพลาด

โพสต์คำตอบ

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