我已经使用静态 IP 设置了我的 Lightsail 实例,并在 htdocs 文件夹中设置了我的 React 应用程序。我试图阻止任何人通过公共 URL 访问它。(这样,在访问它之前,您需要通过 SSH 进入 Lightsail 实例。)目前,我的 htaccess 文件仅重定向主页,而不重定向任何其他页面。我的 htaccess 文件如下。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^1.2.3.4$
RewriteRule ^/?$ http://127.0.0.1:8080 [R=301,L]
RewriteCond %{HTTP_HOST} ^1.2.3.4/About$
RewriteRule ^/?$ http://127.0.0.1:8080/About [R=301,L]
编辑1:如下所建议:
我已将建议的代码添加到 中的虚拟主机000-default.conf
。我还安装了所需的内容并确保一切都已激活。我能够重新启动 Apache 而不会出现任何错误。但是,当我导航到公共 IP 地址时,它不会重定向到本地主机。我的代码如下:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
ServerName localhost
</VirtualHost>
答案1
您可能正在寻找在 Apache 中启用反向代理的方法。您可以在此处阅读更多相关信息:
https://httpd.apache.org/docs/2.4/mod/mod_proxy.html
不要使用重写模块,尝试使用代理模块并添加以下行:
ProxyPass /http://127.0.0.1:8080/ ProxyPassReverse /http://127.0.0.1:8080/
希望这可以帮助!