我在Windows中使用IIS来运行几个网页服务器。这次,我学习了Nuxt.js。使用“npm run build”命令构建一个用Nuxt.js创建的项目。我知道,如果您进入该文件夹并执行“npm run dev”,服务器将在端口3000上打开。此时,http://example.com:3000我希望通过“http://example.com”启动服务,而不是通过Web浏览器上的“www.example.com”启动服务。我该如何操作?
1.有没有办法在IIS管理器中设置它?
1.如果没有,我们是否应该考虑使用新的Web服务器来代替IIS?
1.如果没有,有没有办法在Nuxt.js中设置它?
我尝试了IIS管理器中的HTTP重定向功能,但无法获得所需的结果。
2条答案
按热度按时间ntjbwcob1#
如果要通过在浏览器地址栏中输入
"http://example.com"
来访问端口3000上的网站,则可以通过IIS反向代理完成此操作。首先,您需要在IIS上安装URL Rewrite module和ARR module。
然后需要双击服务器级的应用请求路由缓存,在右侧树节点选择“服务器代理设置”,勾选“启用代理”并应用。
根据您的描述,您的IIS上需要有两个网站,一个是默认网站(端口80),另一个是您部署到IIS上的应用网站(端口3000),接下来您需要在默认网站上创建重写规则,如下所示:
通过上述方法,您可以通过URL访问应用程序:
"http://example.com"
.q8l4jmvw2#
使用HttpPlatformHandler,您可以轻松地在IIS上托管Nuxt.js Web应用程序,但需要对项目进行以下更改:
新版本2.x
The official guide to host Nuxt 2.x for Azure App Service (Windows)示出了一般提示,
1.创建服务器\index.js。
1.修改nuxt.config.js。
但是它错过了重要的步骤,
express
和nuxt-start
作为依赖项(检查package.json
)。const nuxt = await loadNuxt(isDev ? 'dev' : 'start')
简单地更改为const nuxt = await loadNuxt('start')
,因为isDev
在任何地方都没有定义。那么
web.config
应该类似于,注意,Nuxt.js指南中提到的iisnode不再维护,只推荐使用HttpPlatformHandler。
请注意,官方指南中的重写规则没有添加,因为最小示例项目不需要它们,但如果需要,您可以为您的项目添加它们。
新版本3.0
简化了步骤,
对于
web.config
,参考