annotate Sphinx/source/faq/iis.rst @ 170:a577963a2176

added metadata id
author am@osimis.io
date Fri, 26 Oct 2018 10:38:33 +0200
parents 114506f51e70
children
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>`__.
17
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
12 They also illustrate how to configure :ref:`HTTPS encryption <https>`.
15
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 - 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
15
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 - Add Application Request Routing 3.0.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 - Add URL Rewrite module 2.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 - 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
21
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 - Add the following ``web.config`` at the root of the default website:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 .. code-block:: xml
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 <?xml version="1.0" encoding="UTF-8"?>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 <configuration>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 <system.webServer>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 <rewrite>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 <rules>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 <clear />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 <rule name="HTTP to HTTPS redirect" stopProcessing="true">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 <match url="(.*)" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 <add input="{HTTPS}" pattern="off" ignoreCase="true" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 </conditions>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 </rule>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 <rule name="ReverseProxyInboundRule1" stopProcessing="true">
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 <match url="(.*)" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 <action type="Rewrite" url="http://127.0.0.1:8042/{R:1}" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 </rule>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 </rules>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 </rewrite>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 </system.webServer>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 </configuration>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 - In IIS Manager Open Application Request Routing Cache click on
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 Server Proxy Settings on the right side of the window, change the
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 Time-out to a much higher value. eg., 3600 = 1 hour to ensure
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 download of DICOMDIR or ZIP's doesn't time out.
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 - To allow user authentication against an Active Directory group add
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 the following directly after ``<configuration>`` in the above
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 ``web.config``, grant the appropriate Active Directory group read
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 permission on the ``wwwroot`` folder:
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 .. code-block:: xml
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 <system.web>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 <authentication mode="Windows" />
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 </system.web>
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 - 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
66
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 .. code-block:: json
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 [...]
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 "RegisteredUsers" : { },
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 [...]