How to enable SSL on Pyramid website and forward all HTTP request to HTTPS

To be able to use SSL for Pyramid website it should be installed using the IIS option.
Once installed add an SSL bindings as shown below:

  1. Right Click on the "Pyramid" site and choose edit bindings(1)>Click on Add(2)>Choose "https"(3)>set the required 
    host name(4) > Choose your SSL certificate(5)
  2. Edit the web.config of the site, which by default is: C:\program files\pyramid\repository\iis\web.config

    Add the following lines (in Bold text):
    By adding these lines in the web.config, all HTTP requests will be redirected to HTTPS.
<?xml version="1.0" encoding="UTF-8"?>
        <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAny">
            <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
          <match url="(.*)" />
          <action type="Rewrite" url="http://localhost:8181/{R:1}" />
        <clear />
        <add value="readme.html" />

6 replies

    • BI Project
    • Alister_Hill
    • 5 yrs ago
    • Reported - view

    Yakov Shaul

    I can't remember which option we chose, we deployed the server a long time ago when Pyramid 2018 was first announced. It looks like I don't have IIS on the webserver, is there a way to migrate so I can upload my SSL certificate?

    • Daniel
    • 5 yrs ago
    • Answer
    • Reported - view

    Hi Alister,

    You can install IIS  explained here and then following the instructions in the link below on how to create the Pyramid2018 site so that you can use SSL on your site.


    If you require further assistance, please open a support ticket with us and we will follow up with you.

    Thank you.

    • "making the sophisticated simple"
    • AviPerez
    • 5 yrs ago
    • Reported - view

    Just FYI:

    Using IIS for SSL and URL processing is only one option for Windows based servers. You can use alternative "reverse proxy" technologies like NGINX (good for Windows or Linux) and F5 (hardware). IIS is not a required  layer in choosing alternatives.

    • Robin_Way
    • 1 yr ago
    • Reported - view

    What if Pyramid is installed on an AWS linux instance? We wouldnt be using IIS from there. Are there instructions on how to configure web hosting for Pyramid on Linux? 

    • Senior Director of Product
    • Ian_Macdonald
    • 1 yr ago
    • Reported - view

    Hi Robin,

    Check out our Help for instructions on how to configure NGINX for use with Pyramid in a Linux environment.

    Hope that helps.


    • Daniel
    • 1 yr ago
    • Reported - view

    Robin Way

    To add, that as you are on AWS you can just use an AWS load balancer and skip the NGINX install. You only need NGNIX if you want to terminate SSL directly on the Pyramid machine itself and not use a load balancer.

    More info on using an AWS load balancer can be seen in the below article: