【问题标题】:how can i host react app in IIS web server?如何在 IIS Web 服务器中托管 React 应用程序?
【发布时间】:2020-08-11 20:01:08
【问题描述】:

如何在 IIS 网络服务器中托管 reactjs 应用程序?

我使用npm run build 并将文件替换到服务器中并创建引用这些文件的新站点。

我还使用 * 符号将所有 IP 绑定到端口 80。 但没用。

【问题讨论】:

    标签: reactjs iis deployment web-hosting


    【解决方案1】:

    运行以下命令后,输出将在项目内创建一个名为“build”的新文件夹,其中包含生产构建。我们可以通过将这些文件复制到 IIS 网站的根目录来托管项目,网站根文件夹应该能够被匿名帐户正常访问,因此我们应该授予 IUSR 帐户对该文件夹的完全访问权限,如果不是默认网站。

    在IIS绑定模块中添加网站绑定后,

    我们可以通过以下地址正常访问网站。

    http://localhost
    

    另外,如果我们在 react 应用程序中添加某些路由功能(多个组件),我们必须安装 IIS URL Rewrite 扩展。
    https://www.iis.net/downloads/microsoft/url-rewrite
    安装成功后,我们需要在IIS网站的根目录下创建一个包含以下内容的web.config文件。

    <?xml version="1.0"?>
    <configuration>
     <system.webServer>
     <rewrite>
     <rules>
     <rule name="React Routes" stopProcessing="true">
     <match url=".*" />
     <conditions logicalGrouping="MatchAll">
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
     </conditions>
     <action type="Rewrite" url="/" />
     </rule>
     </rules>
     </rewrite>
     </system.webServer>
    </configuration>
    

    如果问题仍然存在,请随时告诉我。

    【讨论】:

    • 如果没有 URL Rewrite 扩展这可能吗?
    猜你喜欢
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多