Sistema operativo: Microsoft Windows Server
servidor web: apache
marco frontal: Vue.js
marco de trabajo de fondo: Laravel
Configuro cuando la ruta es "example.com", puedo ver mi página Vue.js; Cuando la ruta es "example.com:9999", puedo ver mi proyecto Laravel.
Quiero acceder a "example.com" desde cualquier IP y "example.com:9999" solo puedo acceder desde este sitio web, ¿cómo hacerlo?
Este es mi httpd-vhost.conf.
<VirtualHost *:80> DocumentRoot "C:\Apache24\htdocs\index" ServerName example.com <Directory "C:\Apache24\htdocs\index"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> <VirtualHost *:9999> DocumentRoot "C:\Apache24\htdocs\Laravel_project_name\public" ServerName example.com <Directory "C:\Apache24\htdocs\Laravel_project_name\public"> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>Mi objetivo final es que no quiero que nadie sepa qué marco estoy usando. y prohibir que cualquiera pueda ver mi laravel index.php y otro archivo en laravel_project_name/public.
Mire la documentación para VirtualHost :
<VirtualHost addr[:port] [addr[:port]] ...> ... </VirtualHost>Addr puede ser cualquiera de los siguientes, opcionalmente seguido de dos puntos y un número de puerto (o *):
- La dirección IP del host virtual;
- Un nombre de dominio completo para la dirección IP del host virtual (no recomendado);
- El carácter *, que actúa como comodín y coincide con cualquier dirección IP.
- La cadena por defecto , que es un alias para *
Si solo desea que sea accesible desde localhost, reemplace * con la dirección IP de localhost.
Dicho esto, su objetivo es un poco confuso.
Lo anterior evitará que un cliente que se ejecuta en una computadora diferente acceda a ese host virtual.
No hay forma de permitir que los usuarios de la aplicación Vue accedan a ese VirtualHost sin permitir que las personas pasen por alto la aplicación Vue y accedan a ella directamente. Todavía realizarán una solicitud HTTP a su servidor y no hay forma de saber si fue iniciada por su código integrado en su aplicación Vue o el código de otra persona (o una solicitud construida manualmente).