0
一切都建立正常啓用日誌記錄,但由於池的書面許可的任何地方創建無IISnode /或記錄/文件夾,:變化湛藍的游泳池權限
我得到這個錯誤訊息每次我試圖訪問時間我在瀏覽應用程序:
爲了看日誌,我有授權應用游泳池寫入日誌文件。
但我找不出在Azure門戶中編輯權限的位置。
我已經打開了日誌記錄:
這裏是我的IISNode.yml文件:
node_env: production
loggingEnabled: true
devErrorsEnabled: true
logDirectory: iisnode
debuggingEnabled: true
maxLogFileSizeInKB: 1048
maxLogFiles: 50
在哪兒?
我沒有日誌很堅持,因爲我想不通,爲什麼不能我的應用程序啓動
編輯:
更多細節:
節點版本:7.10 .0
項目結構:
gdpr/
web.config
package.json
node_modules/
app/
sslCert.pem
server.js
app.js
config.js
routes.js
knexfile.js
migrations/
api/
controller.js
handlers/
{...several *.js}
起始點:server.js
config.js:
var fs = require('fs');
var config = module.exports;
var PRODUCTION = process.env.NODE_ENV === 'production';
config.express = {
port: process.env.EXPRESS_PORT || 51082,
ip: '127.0.0.1'
};
config.knex = require('knex')({
client: 'mysql',
connection: {
host: 'someHost.mysql.database.azure.com',
user: '[email protected]',
password: 'somePw',
database: 'gdpr',
insecureAuth: true
},
debug: ['ComQueryPacket'],
pool: {
min: 0
}
});
config.migrate = function(cb){
config.knex.migrate.latest()
.then(function() {
cb();
});
}
config.bookshelf = require('bookshelf')(config.knex);
if (PRODUCTION) {
//for example
config.express.ip = '0.0.0.0';
}
server.js:
var app = require('./app');
var config = require('./config');
function launchApp() {
app.listen(config.express.port, config.express.ip, function (err) {
if (err) {
console.log('Unable to listen for connections');
console.log(err);
process.exit(10);
}
console.log('express is listening on http://' + config.express.ip + ':' + config.express.port);
});
}
config.migrate(launchApp);
的web.config:通過捻D:\home\site\wwwroot\iisnode
或將瀏覽到它:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<webSocket enabled="false" />
<handlers>
<add name="iisnode" path="app/server.js" verb="*" modules="iisnode" />
</handlers>
<rewrite>
<rules>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^app/server.js\/debug[\/]?" />
</rule>
<rule name="StaticContent">
<action type="Rewrite" url="public{REQUEST_URI}" />
</rule>
<rule name="DynamicContent">
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True" />
</conditions>
<action type="Rewrite" url="app/server.js" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering>
<hiddenSegments>
<remove segment="bin" />
</hiddenSegments>
</requestFiltering>
</security>
<httpErrors existingResponse="PassThrough" />
<iisnode
watchedFiles="web.config;*.js"
node_env="%node_env%"
loggingEnabled="true"
logDirectory="iisnode"
debuggingEnabled="true"
maxLogFileSizeInKB="1048"
maxLogFiles="50"
devErrorsEnabled="true" />
</system.webServer>
</configuration>
沒有,這是我的問題。這個池沒有寫日誌文件的權限,就像我在我的帖子中寫的那樣。所以即使參數打開,也沒有創建文件夾。通過輸入你的url,我得到{「Message」:''D:\\ home \\ site \\ wwwroot \\ iisnode \\ index.html'找不到。「} –
你可以把'web.config'文件從[這篇文章](https://stackoverflow.com/questions/45193863/permissions-and-request-with-iisnode/45208082#45208082)並將其放入'/ wwwroot'文件夾? –
不管怎樣,完成但仍然是同樣的問題。該端口已被設置爲默認env。 –