Skip to content

Commit bf91434

Browse files
committed
update to 2.4.11
1 parent 6456b7b commit bf91434

File tree

8 files changed

+559
-8
lines changed

8 files changed

+559
-8
lines changed

_data/product_version.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
version_info_list:
22
- latest version
3+
- 2.4.1
34
- 2.2.19
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
layout: default-layout
3+
title: Configure Reverse Proxy Using IIS
4+
keywords: Install, Dynamsoft License Server, Windows
5+
description: Documentation of Steps to configure reverse proxy using IIS for Dynamsoft License Server.
6+
breadcrumbText: Install DLS on Windows
7+
needAutoGenerateSidebar: true
8+
---
9+
10+
# Configure Reverse Proxy Using IIS
11+
12+
The following is an example on how to set up a reverse proxy using `IIS` for DLS for your reference. You can do the configuration yourself as long as you can achieve the requirement which is to redirect requests sent to `https://www.yoursite.com/dls/*` to `http://127.0.0.1:48080/*`.
13+
14+
## Install IIS
15+
16+
Skip this step if you already have IIS installed.
17+
18+
## Install IIS URL Rewrite
19+
20+
Download and install IIS URL Rewrite from [here](https://www.iis.net/downloads/microsoft/url-rewrite).
21+
22+
## Install Application Request Routing
23+
24+
Download and install Microsoft Application Request Routing [here](https://www.microsoft.com/en-us/download/confirmation.aspx?id=47333).
25+
26+
## Configure the proxy
27+
28+
![DLS-on-Windows-023]({{site.assets}}imgs/dlsonwin-023.png)
29+
30+
![DLS-on-Windows-024]({{site.assets}}imgs/dlsonwin-024.png)
31+
32+
![DLS-on-Windows-025]({{site.assets}}imgs/dlsonwin-025.png)
33+
34+
## Configure URL Rewrite rules
35+
36+
![DLS-on-Windows-017]({{site.assets}}imgs/dlsonwin-017.png)
37+
38+
![DLS-on-Windows-018]({{site.assets}}imgs/dlsonwin-018.png)
39+
40+
![DLS-on-Windows-019]({{site.assets}}imgs/dlsonwin-019.png)
41+
42+
Let's configure the following rule for the server
43+
44+
``` text
45+
Name:DLS-rewrite-rule
46+
Pattern: ^dls/(.*)$
47+
Rewrite URL:http://localhost:48080/{R:1}
48+
```
49+
50+
![DLS-on-Windows-020]({{site.assets}}imgs/dlsonwin-020.png)
51+
52+
## Test that the configuration works
53+
54+
Open `http://www.yoursite.com/dls/page/index.html` and if you see the following page then the configuration is complete.
55+
56+
![DLS-on-Windows-026]({{site.assets}}imgs/dlsonwin-026.png)
57+
58+
## Configure SSL
59+
60+
Prepare a SSL certificate for your site (e.g. `https://www.yoursite.com`) and configure it properly.
61+
62+
Refer to [how to set up ssl on iis](https://learn.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis).
63+
64+
After that, you should be able to access the server by `https://www.yoursite.com/dls/page/index.html#/`.
65+
66+
> If you use a JavaScript-based SDK, such as Dynamic Web TWAIN WebAssembly Edition or Dynamsoft Barcode Reader JavaScript Edition, you must configure the self-hosted DLS to run over a secure connection (HTTPS).
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
---
2+
layout: default-layout
3+
title: Configure HTTPS on Linux
4+
keywords: Install, Dynamsoft License Server, Linux, HTTPS
5+
description: Steps and information about how to configure HTTPS on Linux
6+
breadcrumbText: Configure HTTPS on Linux
7+
needAutoGenerateSidebar: true
8+
---
9+
10+
# Configure Reverse Proxy Using Nginx
11+
12+
The following is an example on how to set up a reverse proxy using `nginx` for DLS for your reference. You can do the configuration yourself as long as you can achieve the requirement which is to redirect requests sent to `https://www.yoursite.com/dls/*` to `http://127.0.0.1:48080/*`.
13+
14+
## Install nginx
15+
16+
### On CentOs
17+
18+
* Install
19+
20+
``` shell
21+
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
22+
yum install nginx
23+
```
24+
25+
* Start
26+
27+
``` shell
28+
systemctl start nginx.server
29+
```
30+
31+
* Configure the web server to start with the OS
32+
33+
``` shell
34+
systemctl enable nginx.server
35+
```
36+
37+
### On Ubuntu
38+
39+
``` shell
40+
sudo apt install nginx-full
41+
sudo systemctl start nginx
42+
sudo systemctl enable nginx
43+
```
44+
45+
## Test nginx
46+
47+
Open "http://localhost" in a browser. If `nginx` was installed and started successfully, you should see a message like
48+
49+
``` text
50+
······ Welcome to nginx! ······
51+
```
52+
53+
## Configure nginx
54+
55+
### Open the configuration file
56+
57+
The file could either be `/etc/nginx/conf.d/default.conf` or `/etc/nginx/sites-enabled/default` .
58+
59+
<!--
60+
### Add your server name
61+
62+
``` shell
63+
server_name www.yoursite.com;
64+
```
65+
-->
66+
67+
### Add reverse proxy
68+
69+
``` shell
70+
location /dls/ {
71+
proxy_pass http://127.0.0.1:48080/;
72+
}
73+
```
74+
75+
### Restart the server
76+
77+
``` shell
78+
sudo systemctl restart nginx
79+
```
80+
81+
At this point, you can access the server with the URL `http://localhost/dls/page/index.html#/` or `http://<IP or www.yoursite.com>/dls/page/index.html#/`.
82+
83+
<!--At this point, you can access the server with the URL `http://www.yoursite.com/dls/page/index.html#/`.-->
84+
85+
## Configure SSL
86+
87+
For security, we should access DLS via HTTPS.
88+
89+
### Self-signed Certificate
90+
91+
For demoing and testing purposes, we can try the self-signed certificate when configuring `nginx` by uncommenting the 3 lines as shown below.
92+
93+
``` shell
94+
server {
95+
...
96+
# SSL configuration
97+
#
98+
listen 443 ssl default_server;
99+
listen [::]:443 ssl default_server;
100+
#
101+
# Note: You should disable gzip for SSL traffic.
102+
# See: https://bugs.debian.org/773332
103+
#
104+
# Read up on ssl_ciphers to ensure a secure configuration.
105+
# See: https://bugs.debian.org/765782
106+
#
107+
# Self signed certs generated by the ssl-cert package
108+
# Don't use them in a production server!
109+
#
110+
include snippets/snakeoil.conf;
111+
...
112+
}
113+
```
114+
115+
If your system doesn't have the self-signed certificate. You can install it like this
116+
117+
``` shell
118+
sudo apt-get install ssl-cert
119+
sudo make-ssl-cert generage-default-snakeoil
120+
```
121+
122+
Your client needs to be configured to trust that self-signed certificate. For example, if you are running a web application, you can open the page `https://<IP or www.yoursite.com>/dls/page/index.html#/` in the browser and do the following
123+
124+
* Page shows warning about the self-signed certificate
125+
* Click `Advanced`
126+
* Click `Proceed to xxxx (unsafe)`.
127+
128+
Then this self-signed certificate will be trusted temporarily for some time.
129+
130+
> NOTE that you should avoid using self-signed certificates in your production server.
131+
132+
### Trusted Certificate
133+
134+
You can get a trusted certificate from many suppliers.
135+
136+
e.g. You can get a free one from [certbot](https://certbot.eff.org/).
137+
138+
> If you use a JavaScript-based SDK, such as Dynamic Web TWAIN WebAssembly Edition or Dynamsoft Barcode Reader JavaScript Edition, you must configure the self-hosted DLS to run over a secure connection (HTTPS).

selfhosting-v2.4.1/DLSonLinux.md

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
---
2+
layout: default-layout
3+
title: Install Dynamsoft Dynamsoft License Server on Linux
4+
keywords: Install, Dynamsoft License Server, Linux
5+
description: Steps and information about how to install Dynamsoft Dynamsoft License Server on Linux
6+
breadcrumbText: Install DLS on Linux
7+
needAutoGenerateSidebar: true
8+
---
9+
10+
# Install Dynamsoft License Server on Linux
11+
12+
## Example Environment
13+
14+
* CPU: 2 Core
15+
* Memory:2 GB
16+
* Disk Space
17+
* System: 8 GB
18+
* Data: 20 GB
19+
* OS:CentOs7.4
20+
21+
## Installation
22+
23+
The following shows all the commands and steps required to set up the Dynamsoft License Server
24+
25+
<!--### Prepare a new disk to store DLS data (optional)
26+
27+
``` shell
28+
mkdir /data
29+
# Specify a disk to mount, in our case, it is /dev/nvme1n1
30+
mkfs -t ext4 /dev/nvme1n1
31+
mount /dev/nvme1n1 /data
32+
# Configure the mounting to be automatic
33+
vim /etc/fstab
34+
# Add the following line to the fstab file
35+
/dev/nvme1n1 /data auto defaults 0 2
36+
# Re-mount
37+
mount -a
38+
```
39+
-->
40+
41+
### Download the Dynamsoft License Server v2.4.1 installer, or just copy it over to a proper location
42+
43+
``` shell
44+
cd /a-proper-location
45+
wget https://tst.dynamsoft.com/public/download/dls/2.4.1/dynamsoft_dls-linux_x64-v2.4.1.tar.gz
46+
```
47+
48+
### Unzip and start the Dynamsoft License Server
49+
50+
``` shell
51+
# Unzip the installer
52+
tar zxvf dynamsoft_dls-linux_x64-v2.4.1.tar.gz
53+
# Set permissions
54+
chmod -R 755 ./dls-linux
55+
# Start the server
56+
cd ./dls-linux
57+
./startup.sh
58+
```
59+
60+
If you use Ubuntu, to start the server, try the following instead.
61+
62+
``` shell
63+
# [optional] Install net-tools if it is not available (Ubuntu 20.04 may not come with it)
64+
sudo apt install net-tools
65+
./startup.sh
66+
```
67+
68+
### Check the status to make sure the server is up
69+
70+
``` shell
71+
ps -ef |grep dynamsoft
72+
```
73+
74+
Now, if you visit [http://127.0.0.1:48080/page/index.html#/](http://127.0.0.1:48080/page/index.html#/) in the browser, you should be able to see the management portal of the Dynamsoft License Server.
75+
76+
> You can edit startup.sh to change the listening ports.
77+
78+
Upon the first visit, you will be asked to set an admin password. A few things to note:
79+
80+
> 1. The default password is empty;
81+
> 2. The user name is admin and it can not be changed;
82+
> 3. **Currently, there isn't a way to retrieve the password should it get lost. Therefore, please keep the password secure**.
83+
84+
After that, you will land on the home page where you can find the UUID of this DLS .
85+
86+
> This UUID is require when [activating your licenses]({{site.selfhosted}}index.html#activate-the-license).
87+
88+
![DLS-HomePage-001]({{site.assets}}imgs/dls-homepage.png)
89+
90+
If you see the above page, DLS is installed correctly and is ready to process requests. In order to better integrate with your original service, and make the service more secure on the Internet, the next step is to configure the network environment - (set up a reverse proxy) - for it with the help of `nginx`. See [Configure Reverse Proxy Using Nginx]({{site.selfhosted}}configurereverseproxyusingnginx.html) on how to redirect requests for `https://www.yoursite.com/dls/*` to `https://127.0.0.1:48080/*`.
91+
92+
> NOTE
93+
>
94+
> 1. "proxy" and "https" are only required if you use one of the following products:
95+
>
96+
> * SDKs for Javascript without a local service (like Dynamsoft BarcodeReader Javascript Edition).
97+
> * SDKs for iOS (unless the user makes an exception for the application). ![dls iOS allow http]({{site.assets}}imgs/dls-iOS-allow-http.png) (Reference: https://stackoverflow.com/questions/31254725/transport-security-has-blocked-a-cleartext-http#answer-33712228)
98+
>
99+
> If "proxy" and "https" are not configured, please use `http://ip:port/` in the following steps.
100+
>
101+
> 2. For Docker Users
102+
>
103+
> DLS binds the physical information of a machine. After DLS runs for the first time, you can not change the host machine. Since it is difficult to ensure that a service is deployed on a fixed physical machine on k8s, we do not recommend deploying DLS on k8s.
104+
>
105+
> Some data in the DLS installation directory requires persistent storage. One way is to use the container like a virtual machine. If `docker stop <containerID>` was executed, use `docker restart <containerID>` to restart.
106+
> Another way is to use [volume mounts](https://docs.docker.com/get-started/05_persisting_data/) or [bind mounts](https://docs.docker.com/get-started/06_bind_mounts/).
107+
108+
## Configuration
109+
110+
With the above steps, DLS will be listening on requests sent to this URL `https://www.yoursite.com/dls/`. You can set up another DLS on another machine as the standby server just in case the main server is temporarily unavailable due to network and other reasons.
111+
112+
### Configure a Standby DLS
113+
114+
For maximum up time, a standby DLS is necessary. Assume you have installed two copies of DLS, the following are the steps to configure them
115+
116+
* Find the file `dls.json.sample` in the DLS directory, copy and rename it to `dls.json`
117+
118+
* In the configuration, there are two settings: "serverMode" and "servers". We only need to change "servers". It accepts two values, the first specifies the main DLS URL and the second, the standby URL.
119+
120+
* For the main DLS: `"servers": ["self", "https://standby.yoursite.com/dls/"]`
121+
122+
* For the standby DLS: `"servers": ["https://www.yoursite.com/dls/", "self"]`
123+
124+
> NOTE that you need to configure both the main DLS and the standby DLS separately.
125+
126+
### Configure Server URLs
127+
128+
In order for the license client to know where to find DLS, the server URLs need to be embedded in the license string.
129+
130+
By default, when you first import a license and create a project, the license string for the project will already contain a server URL which is simply the host of the website. For example, if DLS is being visited like shown in the following image, then the license string will contain server URL as `http://127.0.0.1:48080/`.
131+
132+
![dls-url-001]({{site.assets}}imgs/dls-url-config-001.png)
133+
134+
Since the client devices may visit the DLS through a proxy, the automatically detected URL can be incorrect. We can click the button "Set Server URL" and correct it:
135+
136+
![dls-url-002]({{site.assets}}imgs/dls-url-config-002.png)
137+
138+
Input the actual server URLs and save:
139+
140+
![dls-url-003]({{site.assets}}imgs/dls-url-config-003.png)
141+
142+
Once saved, all license strings will be updated to contain the server URLs.

0 commit comments

Comments
 (0)