2017-07-02 1 views
2

Ceci est une fourchette d'une précédente, non résolue questionASPNetCore MVC routage Soit serveur spécifique Poignée Route

Sur un hébergeur à distance, je suis un utilisateur. C'est un environnement d'hébergement partagé. L'hôte utilise Plesk, et j'essaye de réparer mon application AspNetCore pour permettre l'installation et le renouvellement automatique de Let's Encrypt. Je suis certain que l'application AspNetCore interfère avec l'installation et le renouvellement automatique de Let's Encrypt, car je peux créer un site vide et installer Let's Encrypt certs sans problème, et quand je crée un nouveau site avec un 'quickstart' AspNetCore application, l'installation et le renouvellement échoue.

Je suppose que l'hôte peut être configuré pour router toutes les demandes vers un répertoire ./well-known/ vers un répertoire virtuel auquel je n'ai pas accès (en attente d'une réponse de l'hôte).

Toutes les solutions auxquelles j'ai été dirigé, ou fournies, nécessitaient une forme d'accès administratif au serveur, ce qui n'est pas une solution dans mon cas. Je suis un utilisateur.

L'une des solutions consistait à configurer l'acheminement et à faire en sorte que l'application réponde à la clé d'authentification demandée. Comme je n'ai pas accès au répertoire alias (éventuellement), MVC ne peut pas gérer l'itinéraire de cette manière. La seule chose que je peux penser, est de configurer en quelque sorte les routes MVC, de sorte que quand il reçoit une demande /.well-known/ est de passer la demande sur le serveur. Un passage littéral par route, pour s'assurer que le routage MVC n'interfère pas, ne fait rien, mais n'arrête pas la requête et laisse seulement le serveur gérer la requête. Est-ce possible?

+0

Je ne connais pas Plesk, mais dans un fichier web.config IIS, vous devez ajouter une règle pour Let's Encrypt. Par défaut, les fichiers statiques seront fournis à partir du sous-répertoire/wwwroot, de sorte que les requêtes peuvent être acheminées vers /wwwroot/.well-known et produire des 404s. – GeorgDangl

+0

Thats couvert dans l'autre poste. Je n'ai pas de dossier /.well-known/ visible dans le répertoire virtuel de mes hôtes, donc oui, j'ai vérifié le sous-dossier wwwroot, ainsi que toutes les sous-sections, c'est pourquoi je crois que c'est un serveur configuré en alias. Je ne peux pas changer la configuration du serveur, et je ne crois pas que l'hôte changera sa config. Donc soit je trouve un travail, soit je change de fournisseur d'hébergement. –

Répondre

2

L'hôte a trouvé la solution. C'était une configuration IIS.

Dans le répertoire ./.well-known/ créer un fichier nommé web.config

web.config

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers> 
      <remove name="aspNetCore" /> 
     </handlers> 
    </system.webServer> 
</configuration> 

Je ne sais pas exactement ce que cela fait, mais il semble que cela exclut aspNetCore de traitement des appels à ce répertoire.