annotate Sphinx/source/faq/iis.rst @ 15:258906898ac1

iis
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sun, 19 Jun 2016 14:38:01 +0200
parents
children 114506f51e70
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _iis:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 How can I run Orthanc behind Microsoft IIS?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 ===========================================
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 Similarly to :ref:`Apache <apache>` and :ref:`nginx <nginx>`, Orthanc
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 can run behind `Microsoft IIS (Internet Information Services)
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 <https://en.wikipedia.org/wiki/Internet_Information_Services>`__
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 servers through reverse proxying. The instructions below are provided
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 courtesy of `Mark Hodge
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 <https://groups.google.com/d/msg/orthanc-users/3-b3cLBAr8U/QIePcADMAAAJ>`__.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 - IIS is available as a feature you can enable via the Programs and Features in non Server versions of Windows.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 - Add Application Request Routing 3.0.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 - Add URL Rewrite module 2.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 - In IIS Manager bind an SSL certificate to port 443 on the default web site being used for Orthanc.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 - Add the following ``web.config`` at the root of the default website:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 .. code-block:: xml
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 <?xml version="1.0" encoding="UTF-8"?>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 <configuration>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 <system.webServer>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 <rewrite>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 <rules>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 <clear />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 <rule name="HTTP to HTTPS redirect" stopProcessing="true">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 <match url="(.*)" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 <add input="{HTTPS}" pattern="off" ignoreCase="true" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 </conditions>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 </rule>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 <rule name="ReverseProxyInboundRule1" stopProcessing="true">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 <match url="(.*)" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 <action type="Rewrite" url="http://127.0.0.1:8042/{R:1}" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 </rule>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 </rules>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 </rewrite>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 </system.webServer>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 </configuration>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 - In IIS Manager Open Application Request Routing Cache click on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 Server Proxy Settings on the right side of the window, change the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 Time-out to a much higher value. eg., 3600 = 1 hour to ensure
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 download of DICOMDIR or ZIP's doesn't time out.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 - To allow user authentication against an Active Directory group add
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 the following directly after ``<configuration>`` in the above
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 ``web.config``, grant the appropriate Active Directory group read
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 permission on the ``wwwroot`` folder:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 .. code-block:: xml
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 <system.web>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 <authentication mode="Windows" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 </system.web>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 - You also need to make sure registered users is empty in the Orthanc Configuration.json file:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 .. code-block:: json
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 [...]
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 "RegisteredUsers" : { },
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 [...]